这两天做表单自动提交时出现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);//以毫秒为单位的.1000代表一秒钟.根据你需要修改这个时间. //--> </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>