如何通过JS屏蔽回车键提交表单
如何通过JS屏蔽回车键提交表单?
在我下面的代码的基础上改, 注意,check函数 要保留。 <script language="JavaScript"> <!-- function check() { if (myform.myname.value=="") { alert("请输入名字"); return false; } return true; } //--></script> <form name="myform" action="a.asp" method="post" onsubmit="javascript:return check();"> 名字:<input type="text" name="myname"> <input type="submit" value="提交"> </form>
我希望在此基础上加一个 屏蔽回车键的功能,我希望按回车键,不要提交表单!!!
注意: 一,是 【不要】提交表单, 而不是要提交表单。
二,要兼容谷歌,火狐,遨游,TT,IE6,7,8,9,10 首先 keydown去捕获回车键的keyCode。 然后form的submit单独提出来,当检测到e.keyCode==为回车键的时候, return false消除 默认提交表单行为。
方法1,把type=submit改成type="button" onclick="this.form.submit()"
方法2 <body onkeydown="return disSubmit(event)"> <form action="a.aspx"> <input name="x"><inpu type=submit> </form> <script> function disSubmit(evt) { e = window.event || evt; ele = window.event?window.event.srcElement : evt.target; if(e.keyCode == 13) return((ele.tagName=='TEXTAREA')?true:false) } </script>
这个表单自动提交的原因终于找到了: 如果表单中只有一个text输入框,那么不管 按钮是不是 submit,在输入框中按回车,就会提交表单。 所以解决办法很简单,加一个没用的文本框,隐藏就OK了: <input type="text" style='display:none' />
|