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

如题所述

说“一样的”的都不是专业的前端,至少有以下不同:
假设:
 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在用户体验上差的有点多。

作者:佑界
链接:https://www.zhihu.com/question/21316196/answer/17863674
来源:知乎
著作权归作者所有,转载请联系作者获得授权。



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下阻塞表单的提交,而其他浏览

http://www.cnblogs.com/siqi/archive/2012/11/30/2796671.html

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-10-24
没什么区别,如果非要说的话,就是submit会默认的监控回车,你打回车的话会自动提交。
第2个回答  2017-03-18
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<script>

function test()
{
    document.getElementById("myform").submit();    
    alert(11);
}
</script>
<form  name="myfrom" id="myform" method="get" action="b.php">
<input type="text" name="pwd" value="" />
<input type="submit" name="sub" value="111" />
<input type="button" name="btn" value="btn" onclick="test()" />
</form>
</body>
</html>

注意:get方式提交表单时 action里面不能用url传值, post则可以这样传


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下阻塞表单的提交,而其他浏览

js表单提交和submit提交的区别
js提交和submit按钮提交的区别:1. js提交表单时不会带上 submit 按钮的值(因为没有被单击) 所有浏览器 2. input 回车提交 w3c浏览器会带上submit按钮的值,ie6则不会带 解决办法:增加一个hidden域,用这个来判断,无论用哪种方式提交都会有值 submit按钮上绑定提交事件:即: 都会带上submit的值, ...

js表单提交和submit提交的区别
功能都是一样的,都是提交form表单,只是形式不一样 1. submit提交表单:2. js提交表单 提交按钮:js内容: function form_submit() { \/\/这里做一些数据、规则检查,通过后再提交表单等,一般是这个逻辑 $('#formid').submit(); }上面两种方法,即为submit()提交和js提交表单 ...

js表单提交和submit提交的区别
说“一样的”的都不是专业的前端,至少有以下不同:假设: A表单内有,通过点击这个input来提交表单 B表单内没有,而是写了一个,并且在这个input上绑定了click事件,在事件的监听器内用js的form.submit()提交。1.在A表单内的某个input type=text,用户正与它交互(它是当前焦点),用户只需要...

js表单提交和submit提交的区别
js表单提交和submit提交的区别如下:js提交表单时不会会带上按钮的参数传递到服务端。而submit按钮提交的时候会把button上的name和value一起作为请求参数传递到服务端。举例说明: 这里提交的时候会把参数名Mylist和参数值Send传到目标地址 提交的脚本:function doMySubmit() { var myform...

js表单提交和submit提交的区别
submit和button(js表单提交),二者都以按钮的形式展现。项目中比较常用到的,二者最主要的区别是:submit:默认为form提交,可以提交表单(form);button(js表单提交):响应用户自定义的事件,如果不指定onclick等事件处理函数,它是不做任何事情.

js表单提交和submit提交的区别
其实本质是一样的,都是用来提交表单进行处理。不过这个和你的功能要求有关。如果你的应用只是一个简单表单,不需要做运算或者其它判断操作的话,可以直接使用submit或js的表单提交来完成,这种情况下两者效果一样。如果你想在你submit提交表单之前,需要根据对表单数据进行运算或者ajax发起异步请求,根据请求...

js表单提交和submit提交的区别
是一样的啊,js提交表单就等同于submit提交,只是js表单的提交可以验证表单,submit直接提交是没有验证的!

js表单提交和submit提交的区别
其实一般都用到js 表单提交之前一般都要经过JS的验证 submit按钮的提交通常 需要跳转页面 而JS AJAX的异步提交 则不需要刷新页面即可提交

js表单提交和submit提交的区别
js表单提交最后也是submit。区别在于,js提交表单之前,可以做一些操作,页面加载loading之类的

js表单提交和submit提交的区别
不直接提交而是在JS方法中提交,主要是实现js的一些验证输入是否符合要求,如要求不能为空等,其他一样。

相似回答