5568 sujets

Sémantique web et HTML

Bonjour

J'ai une page html contenant un formulaire, à l'issue du remplissage de l'utilisateur, il click sur le submit, ceci envoie un script ajax qui genere une page web en fonction des données et insère le code généré dans un div juste sous le formulaire de la mème page. pour l'instant tout va bien.

Malheureusement tout les retour a la ligne saute et ceci fait de la casse sur quelques element javascript.
J'aimerais essayer de garder la mise en page initiale, mais comment?
Merci de votre aide.
Tibor
Bonjour,
As-tu essayé de transformer les sauts de ligne en <br /> ?


En php :
$chaine = nl2br($chaine);

en javascript :
chaine = chaine.replace(/(\r\n|\n|\r)/g, '<br />');
innerHTML qui fait sont affaire avec les sauts a la ligne, rien a faire \n ne fonctionne pas , <br/> ne fonctionne pas non plus.
La solution que j'ai trouvé est de ne pas utiliser innerHTML, mais plutot de d'inserer le contenu de ma page dans un textarea en utlisant la focntion document.form.textarea.value = mon.responseText;
et ca fonctionne.

Si quelqu'un à une explication, je suis tjrs partant.
A+ et merci
Tibor
oceatoon a écrit :
c'est innerHTML qui fait sont affaire avec les sauts à la ligne, rien à faire \n ne fonctionne pas , <br/> ne fonctionne pas non plus.

La solution que j'ai trouvé est de ne pas utiliser innerHTML, mais plutôt de d'insérer le contenu de ma page dans un textarea en utlisant la fonction document.form.textarea.value = mon.responseText;
et ca fonctionne.

Si quelqu'un à une explication, je suis tjrs partant.
A+ et merci
Tibor
C'est normal de se citer soi-même ??

Que se passe-t-il ? Le texte est tronqué ou bien les sauts sont simplement ignorés ? as-tu des messages d'erreur (console javascript pour firefox ou triangle dans la barre d'état pour IE) ?

C'est bizarre parce que <br /> devrait fonctionner...
Pardon je croyais que c'était editer ... Smiley confus
Non pas d'erreur just que le innerHTML retire les saut a la ligne, et affiche un text tout compacté.
le responseText me renvoie bien ma page avec les saut a la ligne
si je fait document.getElementById("div").innerHTML = mon.responseText tout le text et compacté
par contre si je le met dans le textarea en passant par value c'est niquel...

t'y comprends quelques chose ?
T'as essayé ce que j'insinuais ? c'est-à-dire :
document.getElementById("div").innerHTML = mon.responseText.replace(/\r\n|\n|\r/g, '<br />');


EDIT par Felipe: remplace --> replace
Modifié par Felipe (07 Nov 2005 - 12:44)
Pourquoi ne pas faire ca en php? ca serais tout simple, de plus c'est completement accessible Smiley cligne

Je peux t'aider si tu le désire, envoi moi un mail avec ta page html, et un schéma ou autre chose me montrant ce que tu veux avoir Smiley cligne
Modifié par Super_baloo8 (06 Nov 2005 - 06:29)
Oups je viens de voir... j'ai fait une GROSSE erreur : remplacez "remplace" par "replace" dans le code précédent.