当我单击表单内的按钮时,为什么永远不会到达提交块?

时间:2015-02-02 10:40:27

标签: javascript jquery forms

我正在nodejs中创建一个聊天应用程序。

在index.html文件中,我设置了用户发送邮件的界面,我定义了以下表单:

<form id="chat-form" name="chat-form">
     <input type="text" name="chat-input" id="chat-input" placeholder="type message">
     <br>
     <input type="submit" value="send"/>
</form>

<head> </head>标签内我使用以下脚本:

$('#chat-form').submit(function(e){
    console.log("inside the submit");
});

虽然预计此代码可以正常工作,但从未达到提交代码。

1 个答案:

答案 0 :(得分:1)

如果您在head中调用代码,则代码会在您呈现html之前运行,因此此时html表单不会存在。

一般的最佳做法是将您的javascript代码放在文件的底部,就在结束body标记之前和/或在dom ready函数中运行它。

$(function(){ [code]}); 

上传函数中运行的任何代码都会在dom加载后运行,因此您的html 存在。

$(function(){
    $('#chat-form').submit(function(e){
        console.log("inside the submit");
    });
});