文档单击“输入”表单提交时触发

时间:2009-11-17 09:48:39

标签: javascript javascript-events jquery

我无法理解为什么绑定到文档的点击事件会通过“输入”表单提交触发。这是我正在看的测试页面:

<html>
<head>
    <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js'></script>
    <script type='text/javascript'>
        $(function(){
            // Form Submission
            $('form').bind('submit', function(event){
                console.log('Submit: ', event);
                return false;
            });
            // Input events
            $('input[type=text]').bind('keyup', function(event){
                console.log('Keyup: ', event);
            }).bind('keydown', function(event){
                console.log('Keydown: ', event)
            });
            // Doc Click
            $(document).click(function(event){
                console.log('Document Click: ', event);
            });
        });
    </script>
</head>
<body>
    <form action='test.html' method='GET'>
        <input type='text'>
        <input type='submit' value='Submit'>
    </form>
</body>
</html>

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

将type ='submit'更改为type ='button'。在IE8和FF3.5上测试过。

答案 1 :(得分:0)

当您只有1个字段并且按Enter键时,表单将会提交。如果您在其上放置多个输入字段,则不会执行此操作。这是与浏览器相关的行为。