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

解决方案 »

  1.   

    提供个思路给你。
    首先 keydown去捕获回车键的keyCode。
    然后form的submit单独提出来,当检测到e.keyCode==为回车键的时候, return false消除
    默认提交表单行为。
      

  2.   

    方法1,把type=submit改成type="button" onclick="this.form.submit()"
      

  3.   

    方法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>
      

  4.   

    <script language="javascript">
    document.onkeydown = function(){
    var event = event||window.event;
    if (event.keyCode == 13) {
    event.returnValue = false;
    event.cancelBubble = true;
    return false;
    }
    }
    </script>
      

  5.   

    搞了那么久还是没解决啊。
    表单中因为有一个text字段,所以按回车 会自动提交表单 郁闷。
      

  6.   

    keydown 可以放 在form 里面吗 而不是放在body上
    那样太土了
      

  7.   

    这个表单自动提交的原因终于找到了:
    如果表单中只有一个text输入框,那么不管 按钮是不是 submit,在输入框中按回车,就会提交表单。
    所以解决办法很简单,加一个没用的文本框,隐藏就OK了:
    <input type="text" style='display:none' />