gpt4 book ai didi

jquery - 当点击 'enter/return' 时运行 jQuery AJAX

转载 作者:行者123 更新时间:2023-12-01 02:08:07 25 4
gpt4 key购买 nike

我有一个简单的表单供用户在“墙上”发布。正如您所看到的,它有一个文本输入字段和一个提交按钮,该按钮由通过 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 函数中。

理想情况下,单击“共享”并按回车键都应该提交表单。

有人有建议如何做到这一点吗?

感谢您的帮助!

最佳答案

为什么不使用表单发布?

<form action="http://example.com/2/chat_share" method="post" id="chat_form">                    
<input type="text" name="chat_msg" value="" />

<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>
</form>

然后连接表单POST

$('#chat_form').bind('submit', function(event) {

var link = $(this).attr('action');

$.ajax({
url: link,
type: "POST",
data: $(this).serialize(),
dataType: "html",
beforeSend: function(){
$('#loading').show();
},
success: function() {
$('#chat_thread').load(2 + '/chat_ajax');
$('#loading').hide();
$('#chat_form input').val('');
}
});

return false; // dont post it automatically
});
<小时/>

来自评论

$('.save_button').bind('click', function(event) {
getStuff();
return false; // dont move to top
});
$('#chat_form').bind('submit', function(event) {
getStuff();
return false; // dont post it automatically
});

function getStuff() {

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('');
}
});

}

关于jquery - 当点击 'enter/return' 时运行 jQuery AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6245046/

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