6
我遇到与其名称访问我的表单时遇到问题。当我使用document.form [0] .mylink.value时,它会识别值并输出到我指定的innerHTML。但是,当我使用document.myform.mylink.value时,它似乎无法识别窗体。我已经在Chrome 6.0和FireFox 3.6.3中尝试了这一点,并获得相同的结果。我真的需要能够通过使用表单名称(而不是document.form [0])访问我的表单值,为什么document.myform.mylink.value不起作用的任何想法?无法通过在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>
你的代码肯定不是XHTML(过渡)有效。 'action'是'form'元素的必需属性。至少应该设置它,即使它是空的。 – Lekensteyn 2010-10-13 19:28:59
我有点晚,但它不工作的原因可能是因为你缺少“type”属性。我知道默认情况下它是文本,不知道它是否实际上是强制性的。 – 2013-07-18 07:46:54