Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/05/2011, 19h56   #1
Invité de passage
 
Inscription : février 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 10
Points : 2
Points : 2
Par défaut Modifier l'attribut "value" d'un input (pour de bon !)

Bonjour,

Je me heurte à un soucis colossal.

J'ai besoin de copier le code HTML de quelques éléments HTML, y compris des balises <input />. Cela fonctionne bien, grâce à la fonction html() de jQuery.

Sauf que si je change l'attribut "value" d'une balise input, bien que le JavaScript reconnaît ma nouvelle valeur, lorsque je fais une copie du code HTML, l'attribut value reste intact*!

Exemple*:

Code :
<input type="text" value="un" />
On clique dessus et on change par exemple "un" en "deux". Puis*:

Code :
1
2
$('input').val(); // renvoie bien "deux"
$('input').html(); // renvoie toujours <input type="text" value="un" />
Pourquoi le code HTML reste intact et comment puis-je y remédier*?

Merci.

P.S. La raison pour laquelle je copie le code HTML, et non pas les objets HTML eux-mêmes, c'est que mon but est de copier des éléments d'une page, les stocker dans un cookie, puis les insérer sur une autre page (un copier/coller JavaScript).
Digimag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 11h42   #2
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonjour

C'est le comportement normal.

Il faut bien distinguer le code HTML de la page, et le DOM construit à partir du code HTML.

$("input").val("deux"); modifie dans le DOM la propriété value mais pas le code HTML.

$("input").attr("value", "trois"); modifie le code HTML et le DOM est reconstruit automatiquement pour en tenir compte.
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h13.


 
 
 
 
Partenaires

Hébergement Web