【发布时间】:2011-09-08 20:35:42
【问题描述】:
我有一个简单的表格供用户在“墙上”发帖。如您所见,它有一个文本输入字段和一个提交按钮,该按钮由多个通过 CSS 设置样式的跨度组成。
<form action="http://example.com/2/chat_share" method="post" id="chat_form">
<input type="text" name="chat_msg" value="" />
</form>
<span class="share_js fc-button fc-button-prev fc-state-default fc-corner-left fc-corner-right">
<span class="fc-button-inner">
<span class="fc-button-content save_button">Share</span>
<span class="fc-button-effect">
<span></span>
</span>
</span>
</span>
当用户单击“共享”按钮时,这很有效,该按钮运行下面的 AJAX:
$(document).ready(function() {
$('.share_js').click(function(event){
event.preventDefault();
var link = $('#chat_form').attr('action');
$.ajax({
url: link,
type: "POST",
data: $('#chat_form').serialize(),
dataType: "html",
beforeSend: function(){
$('#loading').show();
},
success: function() {
$('#chat_thread').load(2 + '/chat_ajax');
$('#loading').hide();
$('#chat_form input').val('');
}
});
});
});
我的问题是,当我在键盘上按“return”或“enter”时,表单是通过非 AJAX 方法提交的。
我想用
来捕捉这个击键$('#selector').keydown(function (e){
if(e.keyCode == 13){
//code
}
})
但无法将其包裹在我的 AJAX 函数中。
理想情况下,点击分享和回车都应该提交表单。
任何人有建议如何做到这一点?
感谢您的帮助!
【问题讨论】: