网站地图    收藏   

主页 > 前端 > javascript >

jquery或js表单提交不了问题分析

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 不管你是js也好jquery也好如果你在form表单中出现input的name或id属性的值为submit的字样肯定利用js是提交不了,因为它会提交重名或无效的submit哦。...

form表单提交可以直接使用表单的submit按钮来完成,也可以使用js的方式来提交,只要获取form对象,调用其submit方法即可,往往js的方式可以让提交表单更加灵活。当然使用jquery也可实现提交。如下的代码片段:

 代码如下 复制代码

<script>
function jsSubmit() {
 var frm = document.getElementById('frm');
 frm.submit();
}

function jquerySubmit() {
 $('#frm').submit();
}
</script>

<form id="frm" action="./formtest.htm" method="get">
Username:<input type="text" name="username" />
<br />
<input type="submit" name="submit" value="提交" />
</form>
<a href="javascript:jsSubmit()">js submit form</a>
<br /><br />
<a href="javascript:jquerySubmit()">jquery submit form</a>

除了使用提交按钮外,普通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的保留字重复就成。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论