écrire du html dans une div DOM

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : écrire du html dans une div DOM

par steph29 » 21 mai 2008, 15:29

elle est simple la modif...mais sans ton code on peut pas faire mieux...

voici un exemple qui fonctionne (a adapter a ton cas)

Code : Tout sélectionner

<textarea id="toto">titi tutu tata toto </textarea> <div id="tutu"></div> <script type="text/javascript"> var texte=document.getElementById('toto').value; texte=texte.replace(/\r\n/g,'<br />'); document.getElementById('tutu').innerHTML=texte; </script>

par mcorgnet » 21 mai 2008, 15:27

@mcorgnet: désolé de vouloir t'aider, promis je le referas plus... :oops:
Ha non, ça m'a fait plaisir.

Mais il y a des modifications que je suis prêt à faire, d'autres pas. Ici, en l'occurence, il s'agit seulement de mettre un retour ligne sur une information sans importance, je n'ai pas envie de me casser la tête. Si la solution avait été plus simple, je l'aurais fait, en l'occurrence, elle ne l'est pas ...

par steph29 » 21 mai 2008, 15:18

@cyrano pas si sur :

Code : Tout sélectionner

document.getElementById('ton_div_id').innerHTML=texte.replace(/\r\n/,'<br />');
@mcorgnet: désolé de vouloir t'aider, promis je le referas plus... :oops:

par Cyrano » 21 mai 2008, 15:07

Comme je dis toujours quand j'ai pas envie de me faire chier :

les utilisateurs iront se faire foutre.

C'est dit.
dans ce cas un

Code : Tout sélectionner

document.getElementById('ton_div_id').innerHTML=texte;
suffit :twisted:
Ben oui, mais il faudra quand même faire un split sur le texte pour isoler les retours chariot ... à un détail près : si les \r\n ne sont pas transformés, il n'y aura aucun retours à la ligne dans l'affichage... CQFD, une méthode ou l'autre ça revient au même.

par mcorgnet » 21 mai 2008, 15:04

Hu hu,

et je donne ton numéro de téléphone pour appels en cas de problème.
Comme je dis toujours quand j'ai pas envie de me faire chier :
Je précise :

En tout bien tout honneur.

par steph29 » 21 mai 2008, 15:03

Comme je dis toujours quand j'ai pas envie de me faire chier :

les utilisateurs iront se faire foutre.

C'est dit.
dans ce cas un

Code : Tout sélectionner

document.getElementById('ton_div_id').innerHTML=texte;
suffit :twisted:

par Cyrano » 21 mai 2008, 14:53

Oups... :shock: ben si tu le dis...

par mcorgnet » 21 mai 2008, 14:52

Comme je dis toujours quand j'ai pas envie de me faire chier :

les utilisateurs iront se faire foutre.

C'est dit.

par Cyrano » 21 mai 2008, 14:39

il faut séparer les éléments de chaine avec l'équivalent JavaScript de explode() sur les retours chariot, avec, sauf erreur, split() qui marche bien.

Tu vas obtenir un tableau et en bouclant, tu crées un textNode et tu y ajoutes ensuite un <br /> obtenu avec createElement('br'). Tu ajoutes ton contenu avec appendChild au fur et à mesure bien entendu et ça devrait fonctionner :)

par steph29 » 21 mai 2008, 14:35

un peu de code? notemment la fonction JS... :wink:

écrire du html dans une div DOM

par mcorgnet » 21 mai 2008, 14:32

Bonjour,

J'ai une div sur mon site, construite avec Javascript. En fait, j'appelle une fonction JS, dans laquelle je passe un paramètre (du texte), qui est inséré automatiquement dans la div avec document.createTextNode();

Je voudrais permettre l'écriture de balises html dans cette div (notamment <br />), mais javascript ne me le traduit pas. Les \r\n ne renvoient pas à la ligne non plus ...

Comme elle est construite en JS, j'imagine qu'il doit exister une solution.

Merci de votre aide.