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

JavaScript017

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

假设:

A表单内有<input type="submit">,通过点击这个input来提交表单

B表单内没有<input type="submit">,而是写了一个<input type="button">,并且在这个input上绑定了click事件,在事件的监听器内用js的form.submit()提交。

1.在A表单内的某个input type=text,用户正与它交互(它是当前焦点),用户只需要按一下键盘的enter,就能提交表单;而B在某些情况下不行(部分情形参考回车提交表单),只能click下面的button;当然你可以给每个input绑定一个keypress事件,再检测按下的键是不是enter,如果是,就提交……只要不觉得蛋疼。

2.B表单提交不会触发form的 onsubmit事件;A会触发。

另外,还有HTML语义化的区别,A表单的处理更语义化,至于A能在js加载失败时提交表单(起码还能用),B不行之类的,就不说了。

总之,A,<input type="submit">更好,B在用户体验上差的有点多。

if (isIE()) {

document.write("<form action="+url+" method=post name=formx1 style='display:none'>")

document.write("<input type='input' style='display:none' name='pointID' value='"+pointID+"'")

document.write("</form>")

document.formx1.submit()

}else{

var form = $("<form method='post' name='formTest' action='"+url+"'></form>")

var input = $("<input id='test' type='hidden' name='pointID' value='"+pointID+"'>")

form.prepend(input)

form.submit()

}