JS 自动提交表单时 报“对象不支持此属性”错误

Posted on 2010-07-31 18:41  黔人阿诺  阅读(771)  评论(1编辑  收藏  举报

这两天做表单自动提交时出现JS错误:对象不支持此属性。下面是表单自动提交代码:

<form  id="form1" name="form1"  method="post" action="?">
<input name="subject" id="subject" type="text" value="测试标题" size="20">
<textarea name="info" id="info" cols="80" rows="2">测试内容</textarea>
<input name="submit"  type="submit" value="提交"><!-- 将name="submit" 改为 name="Submit" 注意大小写-->
</form>
<script>
<!--
function sub(){
document.form1.submit();
}
setTimeout(sub,6000);
//-->
</script>

=========================================================================================

经再三测试发现,原来是<input name="submit"  type="submit" value="提交">作怪。在一个完整表单中,不应有名字为action或submit的标签,否则将会产生“对象不支持此属性和方法”的ie错误如代码<input name="submit"  type="submit" value="提交">在表单中是不允许出现的,而Action和Submit则是允许的,因为JavaScript是区分大小写。所以将<input name="submit"  type="submit" value="提交">修改为<input name="Submit"  type="submit" value="提交"> 成功执行,完整无误代码如下:

<form  id="form1" name="form1"  method="post" action="?">
<input name="subject" id="subject" type="text" value="测试标题" size="20">
<textarea name="info" id="info" cols="80" rows="2">测试内容</textarea>
<input name="Submit"  type="submit" value="提交">
</form>
<script>
<!--
function sub(){
document.form1.submit();
}
setTimeout(sub,6000);//以毫秒为单位的.1000代表一秒钟.根据你需要修改这个时间.
//-->
</script>