Tengo un problema con el acceso a mi formulario por su nombre. Cuando uso document.form [0] .mylink.value, reconoce el valor y las salidas al innerHTML que especifico. Sin embargo, cuando uso document.myform.mylink.value, no parece reconocer el formulario. He intentado esto en Chrome 6.0 y también en Firefox 3.6.3 y obtuve el mismo resultado en ambos. Realmente necesito poder acceder a mis valores de formulario usando el nombre del formulario (en lugar de document.form [0]), ¿alguna idea de por qué document.myform.mylink.value no funciona?no se puede obtener elementos de formulario mediante el uso de nombre de formulario en javascript
<form name="myform">
<table>
<tr><td valign="middle" align="center">
<div id="textResponse"></div>
</td></tr>
<tr><td height="30" valign="middle" align="center">
<input name="mylink" value="Enter a URL" size="31" />
</td></tr>
<tr><td valign="top" align="center">
<a href="javascript:submitForm2();">Click</a>
</td></tr>
</table>
</form>
<script type="text/javascript">
function submitForm2(){
//This one does NOT work:
my_link = document.myform.mylink.value;
//This one also does NOT work:
//my_link = document.forms['myform'].mylink.value;
//This one works:
//my_link = document.forms[0].mylink.value;
document.getElementById("textResponse").innerHTML="<p>"+my_link+"</p>";
}
</script>
El código no es ciertamente XHTML (Transición) válida. 'action' es un atributo obligatorio para los elementos' form'. Al menos debería establecerse, incluso si está vacío. – Lekensteyn
llegué un poco tarde, pero la razón por la que no funciona podría deberse a que le falta el atributo "tipo". Sé por defecto que es texto, aunque no estoy seguro de si es realmente obligatorio. –