Php SQL查询正在生成多个记录
根据您的评论: 我用一种形式来称呼它<代码> 发生的情况是,您多次调用此函数:Php SQL查询正在生成多个记录,php,mysqli,Php,Mysqli,根据您的评论: 我用一种形式来称呼它 发生的情况是,您多次调用此函数: function sendmsg(){ $(document).keypress(function(e) { if(e.which == 13) { var message = $('#msgstring').val(); //$('#show').html(message); if(me
function sendmsg(){
$(document).keypress(function(e) {
if(e.which == 13) {
var message = $('#msgstring').val();
//$('#show').html(message);
if(message !="")
{
$.post('sendmessage.php',{postmsg:message},
function(data){
exit();
});
}
}});
}
这个函数做什么?它绑定一个按键
事件:
sendmsg()
也就是说,它不处理事件。它绑定处理事件的代码。因此,每次调用sendmsg()
时,都会创建一个重复的绑定。考虑这一系列事件:
sendmsg()
,将绑定keypress
事件sendmsg()
,将绑定第二个keypress
事件输入中的键时,都会触发事件,但也会创建一个重复的事件处理程序。因此,每次按键都会产生越来越多的事件处理程序,并创建越来越多的记录
仅绑定事件处理程序一次:
$(document).keypress(function(e) {
// handle the event
});
然后,无论何时按下输入中的某个键,都会自动调用此事件处理程序。因此,您不需要在输入中重复代码:
// not inside a function
$(document).keypress(function(e) {
// handle the event
});
您是否多次运行脚本?与您发布的内容不同,它不会运行。把那只猫也从老鼠身上弄下来。你为什么不给我们看看你的完整和真实的代码呢?我想我不会的。嗯,我还没有这样编码。我将添加更多详细信息。@KyleSomerset:您对此做了哪些调试?您是否确认只有一个POST请求被发送到服务器?这一个请求会导致添加多个记录?另外,为什么要在函数内部绑定按键
事件?你在哪里调用这个函数?我用一种形式调用它。我只希望它在按下enter按钮时发出请求。@KyleSomerset:这不就是保证的吗?:如果(e.which==13)
首先解决这个问题,然后解决这个问题是否有效。现在你们正在用每一个按键来绑定这个活动,这是你们不想做的。谢谢,当我第二次读它的时候,这真的让人大吃一惊,干杯。
// not inside a function
$(document).keypress(function(e) {
// handle the event
});
<input type="text" id="msgstring"/>