当我的网址有?标记event.preventDefault()或返回false不要处理表单提交事件

时间:2015-05-23 18:10:36

标签: javascript jquery html html5 dom

我正在尝试event.preventDefault()或返回false。 我有没有工作?在我的网址的末尾。 我的网址是http://127.0.0.1:789/

但是,每当我点击按钮进入。它将刷新页面,网址变为 http://127.0.0.1:789/? 无论我做什么,它都会继续刷新页面。我检查了所有问题。 我正在尝试制作聊天应用程序。哪个在节点上 如果它刷新我会遇到问题

<!DOCTYPE html>
<html>
<head>
    <title> Chat application Using Node</title>
    <style type="text/css">
    * { margin: 0 , auto; padding:  0; box-sizing: border-box;}
    body { font: 15px helvetica, arial;}
    form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%;}
    form input{ border:0; padding: 10px; width: 85%; margin-right: .5%;}
    form button { width: 9%; background: rgb(130 ,224, 255); border: none; padding:10px; }

    #messages { list-style-type: none; margin: 0; padding: 0;}
    #messages li { padding: 5px 10px;}
    #messages li:nth-child(odd) {background: #eee;}

    </style>
    <script type="text/javascript" src = "/socket.io/socket.io.js"></script>
    <script type="text/javascript" src = "https://code.jquery.com/jquery-latest.min.js"></script>
    <script>
        var socket = io();

        $("form").on('submit', function(event){
            event.preventDefault();
            return false;
        });
    </script>
</head>
<body>
    <div class="container">
        <ul id="messages">
            <li>test</li>
        </ul>
        <form action="">
            <input type="text" id="message" autocomplete="off">
            <button>Send</button>
        </form>

    </div>
</body>
</html>

我尝试了一切无效,除非我手动将#放在网址的末尾。

1 个答案:

答案 0 :(得分:1)

您应该将脚本放在文档就绪函数中(它当前在DOM加载完成之前执行。)

$(function() {
   $("form").on('submit', function(event){
      event.preventDefault();
      return false;
   });
});

问号是因为表单向当前页面发送GET请求。