11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à toutes et à tous,

Une question sur laquelle je tourne en boucle depuis un moment…

J'ai un formulaire avec (entres autres), un champ Input.
J'attribue dynamique une valeur à ce champ (initialement vide) à l'aide de JQuery comme ceci :
$("#design_Fieldset_input").val('#8BA9DC');

Ou comme cela :
$("#design_Fieldset_input").attr('value','#8BA9DC');

Je peux aussi le faire en javascript par :
document.getElementById("design_Fieldset_input").value="#8BA9DT";


Problème : Quand je regarde le code source généré, le champ Value est toujours vide !
Pourtant, lorsque le formulaire est soumis, le champ input transmet bien (en Post) la valeur #8BA9DT.

Je ne comprends vraiment pas d'où vient le soucis !
Dans mon cas, cela est problématique parceque je dois récupérer (par une fonction) le code source du formulaire (pour "photographier" sa composition).
Auriez-vous s'il vous plait une idée ?
Modifié par atomestudio (04 Oct 2010 - 16:03)
salut...

Je crois que là tu ne comprend pas bien ce que tu utilise...

Le code source généré est envoyé par le serveur à l'explorateur (ie ou FF par exemple)

PUIS le JS ajoute des données...

Ces données sont concrètement dans la page actuelle ... MAIS PAS dans le code source...

il est donc normal que tune vois rien dans le code source de la page...
Modérateur
Bonjour,

Je me souviens qu'avec l'extension View Source Chart de Firefox, il était possible de voir le code source HTML après les modifications effectuées par le Javascript.

Peut-être que Firebug le permet aussi, à vérifier...

Bref, je crois qu'il faudra regarder du côté des extensions du navigateur.
Modifié par Tony Monast (04 Oct 2010 - 17:24)
a écrit :
pchlj : Je crois que là tu ne comprend pas bien ce que tu utilise...

Le code source généré est envoyé par le serveur à l'explorateur (ie ou FF par exemple)

PUIS le JS ajoute des données...


De toute évidence, c'est bien de cela dont je parle, le DOM modifié après action Javascript.
Et Firebug permet d'observer cela bien entendu.

En général cela fonctionne bien dans mon programme mais là non.
Modifié par atomestudio (04 Oct 2010 - 17:27)
pchlj a écrit :
Je crois que là tu ne comprend pas bien ce que tu utilise...
Le code source généré est envoyé par le serveur à l'explorateur (ie ou FF par exemple)

code source tout court = ce que le serveur envoie
code source généré = toutes les modifications JS apportées après coup
donc je pense que atomestudio regarde au bon endroit

@atomestudio : le comportement que tu décris est bizarre, je n'ai jamais constaté que FF cachait la valeur d'un champs caché.
à quel moment exécutes tu ton JS ? si c'est au submit du formulaire, ça semble normal Smiley smile
@jpvincent :
Avant la soumission du formulaire, j'attribue la valeur au champs input.
Ce n'est que bien après (sur action manuelle de l'interface utilisateur) que je copie le code source généré (du champs input entre autres) pour l'inscrire en base.
Bon maintenant j'ai trouvé une alternative donc ma problématique est plus d'ordre psychologique, de curiosité et d'apprentissage. Smiley smile