2010-12-13 6 views
0

J'ai posté une autre question à ce sujet, mais je pense que celui-ci sera plus concis.créer un champ dynamique et obtenir la valeur

J'ai dynamiquement créé un champ de texte avec javascript. J'ai vérifié que c'est dans le DOM en obtenant sa valeur, mais en essayant d'y accéder à partir d'une autre fonction, j'obtiens une valeur de null pour l'objet d'entrée. est-il réellement possible d'obtenir la valeur actuelle à partir d'un champ de texte créé dynamiquement?

l'intérieur d'une fonction:

 
comment_field = 'comment-HE382U3-2'; 
document.getElementById(comment_field).value = 'Write a comment...'; 

dans l'autre:

 
comment_field = 'comment-HE382U3-2'; 
if (document.getElementById(comment_field).value == 'Write a comment...') 
    { document.getElementById(comment_field).value = '';} 

ne se produit pas parce qu'il n'y a pas [HTMLInputObject] trouvé dans les DOM. S'il vous plaît aider. Merci!

Répondre

0

est-il réellement possible d'obtenir la valeur actuelle à partir d'un champ de texte créé dynamiquement?

Oui. C'est comme n'importe quel autre élément. Si c'est dans le DOM, il est accédé de la même manière.

Vérifiez la valeur de la variable comment_field. Vous faites référence à différentes fonctions, donc cette variable est peut-être hors de portée.

+0

comment_field est établi plus tôt dans le code ... pas affiché ici – Lucas

+0

L'un fonctionne-t-il? Ou juste le second ne fonctionne pas? Cela fonctionne-t-il si vous codez en dur la chaîne '" comment-HE382U3-2 "'? – user113716

+0

le premier document.getElementById (comment_field) apparaît [objet HTMLInputElement] ... le second apparaît nul, même codé en dur – Lucas

Questions connexes