日期:2014-05-16  浏览次数:20327 次

如何通过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>

------解决方案--------------------
所有的事件都是增加一个监听。。。