2010-10-25 5 views
0

$('#myhidde').attr("value",data[0]['MODE']);Pourquoi ma déclaration est la valeur n'écrit pas au champ caché à l'aide Jquery

Iam appeler la page ajax qui me renvoie des données JSON après avoir obtenu les données des résultats JSON quand j'alertent également iam en mesure de voir la valeur mais iam non capable d'écrire à un champ caché serait la .Quel raison .Dying pour 2 heures

+0

' myhidde' ?? devrait-il être myhidden' ?? De plus, vous n'essayez pas de connecter un événement onchange au champ caché? parce que cela ne se déclenchera pas lorsque la valeur sera modifiée par programmation dans JavaScript/jQuery – scunliffe

+0

@konerak: Il me donne la valeur attendue mais quand j'écris il n'écrit pas – Someone

+1

Il y a 3 réponses ici indiquant que '.val()' doit être utilisé à la place de '.attr ('value', ...)'. Quelqu'un peut-il m'expliquer pourquoi cela serait le cas pour un '? – user113716

Répondre

1

Je résume tous mes commentaires dans une réponse ici:

Tenez compte de ce qui suit lorsque vous tentez de déboguer une interaction de champ caché/d'entrée.

  1. View-Source dans les navigateurs vous montre le « statique » HTML qui faisait partie de la HTTPResponse originale 1.1 Si votre navigateur prend en charge, essayez de sélectionner le texte sur la page autour de l'élément et choisissez « Afficher la source de sélection » cette révèle généralement une source "mise à jour"
  2. Si vous essayez d'utiliser un gestionnaire d'événement onchange sur un champ pour alerter la nouvelle valeur après l'avoir programmé par programmation via JavaScript, il n'alertera pas la valeur car l'événement onchange se déclenche uniquement lorsque l'utilisateur interagit avec le champ pour changer la valeur
  3. Firebug mai ne semble pas mettre à jour la valeur de un champ caché dans des circonstances spéciales (j'ai été témoin, mais n'ai pas pu trouver un cas de test fiable pour soumettre un bogue) - obtenir une deuxième vérification de JavaScript ou soumettre la page
  4. Essayez de changer temporairement l'attribut de type "caché" "à" texte "pour que vous puissiez voir la valeur quand elle change
2

Vous devez utiliser val() pour le champ caché:

$('#myhidde').val(data[0]['MODE']); 
+0

Je dois aimer SO, j'ai été battu deux fois en une minute ... – Harmen

+1

Toute documentation sur pourquoi cela fonctionne alors que la définition de l'attribut "valeur"? – scunliffe

+0

@sarfraz: J'ai également essayé cette approche mais je n'ai pas trouvé de solution – Someone

0

utilisez le jQuery val métho d:

$('#myhidde').val(data[0]['MODE']); 
+0

cette approche aussi mais n'a pas fonctionné – Someone

+0

@Someone - quelle erreur obtenez-vous dans la console javascript? – Oded

+0

si j'essaie d'écrire la même valeur dans un champ de texte, il est écrit – Someone

1

d'abord vérifier ce qui est à l'intérieur de votre objet de données: console.log(data);

Ensuite, utilisez la syntaxe correcte:

$('#myhidde').val(data[0]['MODE']); 
Questions connexes