gpt4 book ai didi

javascript - 单击事件未在输入类型=提交时触发

转载 作者:行者123 更新时间:2023-11-28 16:11:55 25 4
gpt4 key购买 nike

我显然在做一些愚蠢的事情,我不太明白出了什么问题。每当我单击“发送”按钮时,单击事件都无法触发。

function CreateNewMessage()
{
var receiver = $("#receiver").value;
var msg_body = ("#msg_body").value;
$("#submit").click(function(event) {
alert("it works!");
$.post("new/", {"receiver" : receiver, "msg_body" : msg_body});
});
}

(function() {
$(document).ready(function() {
CreateNewMessage();
});
})();

和 HTML 按钮

<input id="submit" value="Send" type="submit">

谁能发现我的错误?

编辑:

在考虑了每个人的建议后,这就是我的代码现在的样子。

function CreateNewMessage()
{
$("#submit").click(function(event) {
var receiver = $("#receiver").val();
var msg_body = $("#msg_body").val();
alert("it works!");
$.post("message/new/", {"receiver" : receiver, "msg_body" : msg_body});
});
}

$(document).ready(function() {
CreateNewMessage();
});

它仍然没有正确发送请求,并且控制台没有记录错误。我尝试使用提交事件而不是上面代码中的单击事件,但得到了相同的结果。

编辑2所以代码可以在 jsFiddle 上运行,但不能在我的浏览器中运行。我真的很困惑

编辑3:也许这与它有关...请注意,当页面最初加载时,提交按钮不存在。它是在特定的 javascript 事件触发时生成的。

最佳答案

您缺少 #msg_body$() 函数,它应该如下所示:

var receiver = $("#receiver")[0].value;
var msg_body = $("#msg_body")[0].value;

此外,您不需要将 ready 包装在函数中,您可以直接在脚本中调用它;您还可以直接将 CreateNewMessage 函数设置为处理程序,如下所示:

$(document).ready( CreateNewMessage );

关于javascript - 单击事件未在输入类型=提交时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12666706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com