私は明らかに愚かなことをしています。何が悪いのかよくわかりません。「送信」ボタンをクリックするたびに、クリックイベントが発生しません。
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();
});
まだリクエストが正しく送信されておらず、コンソールにエラーが記録されていません。上記のコードでは、クリック イベントではなく送信イベントを使用してみましたが、同じ結果が得られました。
EDIT 2したがって、コードはjsFiddleで機能していますが、ブラウザでは機能していません。私は本当に混乱しています
EDIT 3: 多分これは何か関係があります...ページが最初にロードされたとき、送信ボタンは存在しないことに注意してください。特定の JavaScript イベントが発生したときに生成されます。