我对表单的jquery函数提交有问题:
$(document).ready(function () {
$('#message').keydown(function(e) {
if(e.which == 13 && !e.shiftKey) {
$('#edit_message_11').submit(function() {
alert("HELLO2");
});
return false;
}
});
});
<form id="edit_message_11" class="edit_message" method="post" action="/message/11" accept-charset="UTF-8">
<textarea id="message" class="form-control edit_message_form" name="message">
Hello
</textarea>
当我为表单执行以下操作时: $(&#39;#edit_message_11&#39;)。submit(function(){...}); 它不会触发提交。
但是,如果我 $(&#39;#edit_message_11&#39;)。submit(); ,它会触发提交。
我之所以需要 $(&#39;#edit_message_11&#39;)。submit(function(){...}); 是因为我想做ajax提交。
任何人都有线索?
谢谢!
答案 0 :(得分:0)
我不相信它会按照您尝试的方式运作。当它在提交功能中时,警报将永远不会触发,直到它从POST返回响应。这意味着您需要表单处理脚本的响应。
你的AJAX调用不需要在提交函数中,它只需要在事件中。
$(document).ready(function () {
$('#selfie_message').keydown(function(e) {
if(e.which == 13 && !e.shiftKey) {
$('#edit_selfie_11').submit();
$.ajax({
type: "POST",
url: "/selfies/11",
data: $("#edit_selfie_11").serialize()
});
}
});
});
如果你需要在成功时取得成功,你就会这样做。
$(document).ready(function () {
$('#selfie_message').keydown(function(e) {
if(e.which == 13 && !e.shiftKey) {
$('#edit_selfie_11').submit();
$.ajax({
type: "POST",
url: "/selfies/11",
data: $("#edit_selfie_11").serialize(),
success: function(response){
//your response code here//
}
});
}
});
});