Tenho uma página HTML e um arquivo JavaScript externo. Como faço para acessar o valor de um input
tag da página HTML em JavaScript? Meu HTML é o seguinte:
<form name="formxml">
<input type="text" name="xmlname"/>
<input type="submit" value="Click me please" onclick="loadxml()"/>
</form>
No arquivo Javascript, eu estava tentando:
var name = document.formxml.xmlname.value
mas isso dá um erro de "document.formxml is undefined"
O que devo fazer?
Respostas:
3 para resposta № 1Parece que o js externo não consegue encontrar o formulárioainda porque é analisado antes de a página ser renderizada? Não tenho certeza sobre isso, mas colocá-lo em uma função e chamar a função na página (quando terminar de carregar) funciona:
function foo () {
var name = document.formxml.xmlname.value;
alert(name);
}
e
<form action="" method="post" name="formxml">
<input type="text" name="xmlname" value="123" id="xmlname">
<input type="button" onclick="foo();">
</form>
2 para resposta № 2
Você pode usar o seguinte depois de adicionar um atributo id à tag de entrada
document.getElementById("id").value
2 para resposta № 3
talvez documento.formulários.formxml.xmlname.value
1 para resposta № 4
Você também pode usar:
var name = document.forms[0].xmlname.value; //where [0] means the first form on the page
1 para resposta № 5
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).
O último requer que seu elemento de entrada tenha um id = "inputId" adicionado a ele.
Além disso, seu código funcionará, assumindo que o formulário existe quando o js externo é carregado (é por isso que o forms [0] funcionará aqui e o formxml não.
1 para resposta № 6
Tente isso
<script>
function yourfunction()
{
var x = document.getElementsByName("fieldname").value;
}
</script>