Ho riscontrato un problema con l'accesso al mio modulo tramite il suo nome. Quando uso document.form [0] .mylink.value riconosce il valore e restituisce l'innerHTML che specifico. Tuttavia, quando uso document.myform.mylink.value non sembra riconoscere il modulo. Ho provato questo in Chrome 6.0 e anche Firefox 3.6.3 e ottenere lo stesso risultato in entrambi. Devo davvero essere in grado di accedere ai valori del mio modulo usando il nome del modulo (invece di document.form [0]), qualche idea sul perché document.myform.mylink.value non funzioni?impossibile ottenere gli elementi del modulo utilizzando il nome del modulo in 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>
Il codice non è certo XHTML (transitoria) valida. 'action' è un attributo obbligatorio per gli elementi' form'. Dovrebbe essere impostato almeno, anche se è vuoto. – Lekensteyn
Sono un po 'in ritardo ma il motivo per cui non funziona potrebbe essere perché ti manca l'attributo "tipo". So che per impostazione predefinita è testo, non sono sicuro che sia effettivamente obbligatorio. –