C# jquery post进入循环
我有这个代码,我用它在“回车”键上发布一条消息,但它是循环的,不是发布一条消息,而是随机发布多次 这是我在C# jquery post进入循环,c#,jquery,asp.net,C#,Jquery,Asp.net,我有这个代码,我用它在“回车”键上发布一条消息,但它是循环的,不是发布一条消息,而是随机发布多次 这是我在上调用的函数,如有任何帮助,将不胜感激 function PostMessage(event,key) { $('#txtsendmsg'+key).on("keypress", function (e) { if (e.which == 13) { var msgid = $(this).siblings('.msgid').val();
上调用的函数,如有任何帮助,将不胜感激
function PostMessage(event,key) {
$('#txtsendmsg'+key).on("keypress", function (e) {
if (e.which == 13) {
var msgid = $(this).siblings('.msgid').val();
var msgtxt = $(this).val();
$.ajax({
url: "student_post_login.aspx/funPostMessage",
data: 'postd=' + "Y" + '&msgid=' + msgid + '&msgtxt=' + msgtxt,
success: function (data) {
if (data) {
displayData();
}
},
failure: function (response) {
alert("Faliure:");
},
error: function (response) {
alert(response);
}
});
e.preventDefault();
}
});
}
问题在于,每次点击输入字段中的a键时,都会附加一个事件处理程序。按两次键,你会收到两个请求,三次;三个等等 尝试仅使用jQuery而不是
onclick
属性分配处理程序:
<input id='txtsendmsg" + i + "' placeholder=\"Write a comment...\" class='msgtxt' />
问题在于,每次点击输入字段中的a键时,都会附加一个事件处理程序。按两次键,你会收到两个请求,三次;三个等等 尝试仅使用jQuery而不是
onclick
属性分配处理程序:
<input id='txtsendmsg" + i + "' placeholder=\"Write a comment...\" class='msgtxt' />
不知道这是否有帮助,但您可以在ajax代码中尝试async:false,在success函数中也可以尝试返回false。我知道您正在使用e.preventDefault(),但仍然。同样从PostMessage本身来看,您应该返回false;你能发布你的displayData()代码吗?可能是罪魁祸首在那里?不知道这是否有帮助,但您可以在ajax代码中尝试async:false,也可以在success函数中尝试返回false。我知道您正在使用e.preventDefault(),但仍然。同样从PostMessage本身来看,您应该返回false;你能发布你的displayData()代码吗?可能是凶手在里面?我相信他每次按一个键都在连接处理器,不仅是
enter
@AlexFilipovici你说的没错,先生。那就更糟了:)嘿,谢谢,但是代码只在一个回车键上循环,我试过如果我用php但不是在aspx中它工作得很好。还有其他建议吗?我相信他每次按键时都会附加处理程序,不仅仅是enter
@AlexFilipovici你说得对,先生。更糟糕的是:)嘿,谢谢,但是代码只在一个enter上循环,我试过,如果我使用php,但不在aspx中,它工作得很好。还有其他建议吗?