11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

je rencontre un petit soucis dans un script permettant de modifier une créa mail pour la rendre "opti" pour l'envoi d'emailing.

Je dispose d'un formulaire avec deux textarea .
Dans le premier textarea (#sourceCrea) je place le code à corriger.
Je fait quelque modifications à la source tel que l'ajout de la propriété css display à block aux images.
Et finalement je place le code corrigé dans le second textarea (#resultCrea).

Je suis assez perdu, et ne comprend pas ce qui ne fonctionne pas.

Voici mon dernier essai :
$('#sendSource').click(function(){
      var source = $('#sourceCrea').val();
      
      $('img', source).each(function() {
         $(this).css('display', 'block');
      });
      
      $('#result').show("slow");
      $('#resultCrea').val(source);
      
      return false;
   });
$('#sendSource').click(function(){
      var source = $('#sourceCrea').val();
      
      $('img', source).each(function() {
         $(this).css('display', 'block');
      });
      
      $('#result').show("slow");
      $('#resultCrea').val(source);
      
      return false;
   });


Ton problème c'est que ta variable "source" est du texte brut (le contenu du textarea), or tu utilises un selecteur d'objet du dom avec $('img', source)... alors qu'en fait il faudrait parser le texte est le modifier aux endroits opportuns avant de le réinjecter dans l'autre textarea.
Donc c'est pas possible via les sélecteurs Jquery ?
Sur un autre forum on m'as dit de recréer les noeuds DOM correspondants avec $($('#sourceCrea').val()) mais ça ne marche pas ...

qu'elle solution j'ai pour parser le contenu du textarea ?
Bonjour,

créer ton propre parseur est une solution.

Mais quelque chose du style $('<div>' + $('#sourceCrea').val() + '</div>') devrait te permettre de créer des noeuds DOM.
Peut-être que cela ne fonctionnait pas parce que tu n'avais pas de conteneur autour ?

je viens d'essayer un $(('<div>' + $('#message').val() + '</div>'); sur la page de réponse à un sujet ( la page actuelle pour moi), cela fonctionne très bien.
Effectivement j'ai peut être la solution comme ça

Cependant ça me supprime le début de la page contenu dans le textarea (balise html, body).

En tout cas merci beaucoup c'est la première solution qui me fait avancer depuis les quelques jours ou je demande de l'aide sur divers forum!
C'est quand même étonnant que peut ou pas de personnes n'aient rencontré ce problème

Edit :
Il me supprime pas que le début mais toutes les balises html, head, body ne sont pas copier. je suppose que c'est normal.
C'est pas trop gênant faut juste que je modifie un peut mon script
Modifié par Couscouss Sensei (25 May 2011 - 12:55)
Hum... ton textarea sert à quoi ?

Parce que tu as quand même dedans beaucoup de choses ( html, body etc... ) et donc on pourra peut-être te conseiller au mieux si on connait son utilité.
Comme mentionner dans mon premier message le textarea contiendra un code source d'une créa mail qui doit être traiter.
Donc il peut y avoir un doctype, les balise html, head, meta, title, body, ....