js表单提交和submit提交的区别

JavaScript010

js表单提交和submit提交的区别,第1张

js表单提交和submit提交的区别如下:

js提交表单时不会会带上按钮的参数传递到服务端。

而submit按钮提交的时候会把button上的name和value一起作为请求参数传递到服务端。

举例说明:

<form id="myfrom">

<input type="submit" onclick="doMySubmit()" name="MyList" value="SEND" class="button actionbutton" />

</form>

这里提交的时候会把参数名Mylist和参数值Send传到目标地址

<form id="myfrom">

<input type="button" onclick="doMySubmit()" name="MyList" value="SEND" class="button actionbutton" /> 

</form>

提交的脚本:

function doMySubmit() {

           var myform = document.getElementById('searchFilterForm')

           myform.myfield.value = "Hello World"

           myform.submit()

       }  

这种情况下不会把button的参数带给服务端。

js提交和submit按钮提交的区别:

1. js提交表单时不会带上 submit 按钮的值(因为没有被单击) 所有浏览器

2. input 回车提交 w3c浏览器会带上submit按钮的值,ie6则不会带

解决办法:

增加一个hidden域,用这个来判断,无论用哪种方式提交都会有值

submit按钮上绑定提交事件:

即:<input type="submit" name="btn" value="btn" onclick="test()" />

都会带上submit的值, 用js提交都检测不到onsubmit状态

w3c: 提交一次

ie6: 分两次提交,先js在form提交

解决办法:

如果按钮为submit则 检测时用onsubmit事件检测

如果按钮为button,则检测通过后在触发submit事件

一定不要用js提交表单,然后又用onsubmit去检测

单纯的用js提交表单, alert, ff下阻塞表单的提交,而其他浏览