我在提交表单的 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>
http://jsfiddle.net/978QC/
当我对表单执行以下操作时:$('#edit_message_11').submit(function() { ... });它不会触发提交。
但是,如果我这样做$('#edit_message_11').submit();它确实触发了提交。
我需要这样做的原因$('#edit_message_11').submit(function() { ... });是因为我想做一个ajax提交。
有人有线索吗?
Thanks!
我不相信它会按照您尝试的方式起作用。当它位于提交函数内时,警报在收到 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//
}
});
}
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)