jquery或js表单提交不了问题分析
form表单提交可以直接使用表单的submit按钮来完成,也可以使用js的方式来提交,只要获取form对象,调用其submit方法即可,往往js的方式可以让提交表单更加灵活。当然使用jquery也可实现提交。如下的代码片段:
代码如下 | |
<script> function jquerySubmit() { <form id="frm" action="./formtest.htm" method="get"> |
除了使用提交按钮外,普通js和jquery的方式都无法提交表单。多次确认js的代码是没有问题,可就是不工作。问题原因是出现在命名冲突上,就是说,在form表单中不能出现input的name或id属性的值为submit。上述代码的问题就是提交按钮的name的值为submit,所以造成js方式无法提交表单。所以如果要使用js来操作表单,一定要注意命名的问题。
js不能提交表单,提示对象支持此属性和方法 .
这总情况一般是由于存在表单或按钮的名字与js的保留字重名导致的,如:
代码如下 | |
<form name="objForm" method="post" action="action.do"> <input type="button" name="submit" onclick="do_commit()"> </form> |
上面是一个在objForm中的按钮,我们采用do_commit()方法来提交objForm
代码如下 | |
function do_commit(){ document.objForm.submit(); } |
这个js方法提交的时候会出错,提示不支持此属性或方法,其实是因为我们的按钮名字叫submit了,导致不能提交,只需要修改成别的名字就可以了,当然记住不要取的名字和js的保留字重复就成。