如何通过JS屏蔽回车键提交表单?
如何通过JS屏蔽回车键提交表单?
在我下面的代码的基础上改, 注意,check函数 要保留。
HTML code
<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>
------解决方案--------------------楼上挺有意思的
还搞了个冒泡委托
------解决方案--------------------JScript code
<script language="javascript">
document.onkeydown = function(){
var event = event||window.event;
if (event.keyCode == 13) {
event.returnValue = false;
event.cancelBubble = true;
return false;
}
}
</script>
------解决方案--------------------
所有的事件都是增加一个监听。。。