2009-06-23 6 views
1

J'ai une page HTML et un fichier JavaScript externe. Comment accéder à la valeur d'un tag input depuis la page HTML en JavaScript? Mon HTML est comme suit:Obtenir la valeur de la zone de saisie en html en externe Javascript

<form name="formxml"> 
<input type="text" name="xmlname"/> 
<input type="submit" value="Click me please" onclick="loadxml()"/> 
</form> 

Dans le fichier Javascript, je tentais:

var name = document.formxml.xmlname.value 

mais cela donne une erreur de "document.formxml est indéfini"

Que dois-je faire ?

Répondre

3

On dirait que les js externes ne peuvent pas trouver la forme encore parce qu'il est analysé avant que la page est rendue ne suis pas sûr, mais le mettre dans une fonction et d'appeler la fonction sur la page (quand il est fait le chargement) fonctionne:

function foo() { 
    var name = document.formxml.xmlname.value; 
    alert(name); 
} 

et

<form action="" method="post" name="formxml"> 
    <input type="text" name="xmlname" value="123" id="xmlname"> 
    <input type="button" onclick="foo();"> 
</form> 
+0

merci MSpreij. Votre solution fonctionne parfaitement pour moi. –

2

Vous pouvez utiliser ce qui suit après avoir ajouté un attribut id balise d'entrée

document.getElementById('id').value 
+0

Un ID supplémentaire n'est pas nécessaire. – Gumbo

2

document peut-être. formes .formxml.xmlname.value

1

Vous pouvez également utiliser:

var name = document.forms[0].xmlname.value; //where [0] means the first form on the page 
1
var name = document.formxml.value; //Will not work in all browsers 
var name = document.forms[0].xmlname.value; //safest if the form is the first on the page 
var name = document.getElementById('inputId').value; //works in basically everything assuming the browser has DHTML (which is like everything). 

Le dernier a besoin de votre élém d'entrée pour avoir un id = "inputId" ajoutés.

également votre code fonctionnera, en supposant que la forme existe lorsque les js externes est chargé (ce qui explique pourquoi les formes [0] travailleront ici et formxml ne sera pas.

+0

J'ai essayé tous les trois. aucun d'entre eux ne travaille. Ces codes sont-ils censés fonctionner pour le javascript externe? –

+0

par javascript externe faites-vous référence à l'importation à partir d'un fichier comme ? Que vous le fassiez de cette façon ou que vous insériez simplement le code dans votre code HTML, c'est la même chose que – user105033

1

Essayez ceci

<script> 
    function yourfunction() 
    { 
     var x = document.getElementsByName("fieldname").value; 
    } 
</script> 
Questions connexes