Javascript 我打了两次电话。每一次尝试都是第一次调用ajax代码
有syggestions吗?提前谢谢。试试这个:)Javascript 我打了两次电话。每一次尝试都是第一次调用ajax代码,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,有syggestions吗?提前谢谢。试试这个:) $(文档).ready(函数(){ $(文档)。在(“单击”,“按钮[class*=btnNotFound]”上,函数(e){ //加上这个 如果(e.handled!==true){ e、 handled=true;//防止触发两次 //你的代码 } 我在一个项目中遇到了同样的问题,我就是这样解决的(这是项目中的实际代码示例): 我有一个解决方案。我把一个点击事件和另一个点击事件分开,正如@JamesThorpe所说的 <script
$(文档).ready(函数(){
$(文档)。在(“单击”,“按钮[class*=btnNotFound]”上,函数(e){
//加上这个
如果(e.handled!==true){
e、 handled=true;//防止触发两次
//你的代码
}
我在一个项目中遇到了同样的问题,我就是这样解决的(这是项目中的实际代码示例):
我有一个解决方案。我把一个点击事件和另一个点击事件分开,正如@JamesThorpe所说的
<script type="text/javascript">
$(document).ready(function() {
$(document).on("click","button[class*=btnFound]", function(e){
var cijeliID = this.id.split("-");
var id = cijeliID[1];
$($("#confirmBox-"+id).data("target")).fadeIn(400);
e.preventDefault();
});
});
</script>
<script type="text/javascript">
$(document).ready(function() {
$(document).on("click", ".btnFoundConfirm", function(){
var cijeliID = this.id.split("-");
var id = cijeliID[1];
/*$("#confirmBox-"+id).modal('toggle');*/
$.ajax({
url : "pet-found.php",
type: "POST",
dataType: "json",
data : {id : id, status:"found", sessionCode : "<?php echo $session_code; ?>"},
beforeSend: function(){
$("#info-middle-register").show();
},
success: function(msg){
$("#info-middle-register").hide();
if(msg.result == "Found"){
$("#delpetsuccess-"+id).html("<i class=\"fa fa-thumbs-o-up\"></i> Uw huisdier is thuis. De VermisteDieren site wenst u veel plezier met uw beestje.").fadeIn(300).fadeOut(10000);
$("#watermark-"+id).show();
$("#drpDown-"+id).html("<li id=\"liTochGezocht-"+id+"\" class=\"col-lg-12\"><button id=\"dataTitle btnNotFound-"+id+"\" class=\"btnNotFound btn btn-primary col-lg-12 xol-sm-12 col-md-12 col-xs-12 btn-sm\" data-title=\"Klik hier als uw beestje toch nog niet gevonden is.\"><i class=\"fa fa-arrow-left\"></i> Toch nog gezocht?</button></li>");
$("#dier-"+id).addClass("opacityClass");
}else{
if(msg.result == "NotFound"){
$("#delpeterror-"+id).html("<i class=\"fa fa-exclamation-triangle\"></i> Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000);
}
}
},
error: function(){
$("#info-middle-register").hide();
$("#delpeterror-"+id).html("<i class=\"fa fa-exclamation-triangle\"></i> Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000);
}
})
});
});
</script>
$(文档).ready(函数(){
$(文档)。在(“单击”,“按钮[class*=btnFound]”上,函数(e){
var cijeliID=this.id.split(“-”);
var id=cijeliID[1];
$($(“#confirmBox-”+id).data(“target”).fadeIn(400);
e、 预防默认值();
});
});
$(文档).ready(函数(){
$(文档).on(“单击“,”.btnFoundConfirm”,函数(){
var cijeliID=this.id.split(“-”);
var id=cijeliID[1];
/*$(“#confirmBox-”+id).modal('toggle')*/
$.ajax({
url:“pet found.php”,
类型:“POST”,
数据类型:“json”,
数据:{id:id,状态:“已找到”,会话代码:},
beforeSend:function(){
$(“#信息中间寄存器”).show();
},
成功:功能(msg){
$(“#信息中间寄存器”).hide();
如果(msg.result==“找到”){
$(“#delpetsuccess-”+id).html(“Uw huisdier是thuis.De veristedieren site wenst u veel plezier met Uw beestje.”);
$(“#水印-”+id).show();
$(“#drpDown-”+id).html(“Toch nog gezocht? ”);
$(“#dier-”+id).addClass(“opacityClass”);
}否则{
如果(msg.result==“未找到”){
$(“#delpeterror-”+id).html(“Er是iets misgelopen.Contacteer ons通过info@vermistedieren.be.fadeIn(300)、fadeOut(10000);
}
}
},
错误:函数(){
$(“#信息中间寄存器”).hide();
$(“#delpeterror-”+id).html(“Er是iets misgelopen.Contacteer ons通过info@vermistedieren.be.fadeIn(300)、fadeOut(10000);
}
})
});
});
在模态按钮中(Ja!Ga verder)我添加了一个类btnFoundConfirm,它成功了。您绑定到另一个
click
事件处理程序中的click
事件。这会让警钟响起。@JamesThorpe当我第一次单击Gevonden按钮时,它也是单击内部的一次单击,但它工作正常。不过,第二次调用第一次单击处理程序时,y您正在将另一个单击处理程序添加到“#btnFoundConfirm…”+id
。下次单击该按钮时,它将运行内部处理程序两次。@JamesThorpe建议如何解决它?请随意发布并接受您自己的答案,而不是在问题本身中发布解决方案-就这样做了。谢谢您的回答,但问题仍然是一样的。嗨。谢谢您的回复,但问题仍然存在。This解决方案类似于Eric Pörschman的解决方案,但不起作用。
<script type="text/javascript">
$(document).ready(function() {
$(document).on("click","button[class*=btnFound]", function(e){
var cijeliID = this.id.split("-");
var id = cijeliID[1];
$($("#confirmBox-"+id).data("target")).fadeIn(400);
$(document).on("click", "#btnFoundConfirm-"+id, function(){
/*$("#confirmBox-"+id).modal('toggle');*/
$.ajax({
url : "pet-found.php",
type: "POST",
dataType: "json",
data : {id : id, status:"found", sessionCode : "<?php echo $session_code; ?>"},
beforeSend: function(){
$("#info-middle-register").show();
},
success: function(msg){
$("#info-middle-register").hide();
if(msg.result == "Found"){
$("#delpetsuccess-"+id).html("<i class=\"fa fa-thumbs-o-up\"></i> Uw huisdier is thuis. De VermisteDieren site wenst u veel plezier met uw beestje.").fadeIn(300).fadeOut(10000);
$("#watermark-"+id).show();
$("#drpDown-"+id).html("<li id=\"liTochGezocht-"+id+"\" class=\"col-lg-12\"><button id=\"dataTitle btnNotFound-"+id+"\" class=\"btnNotFound btn btn-primary col-lg-12 xol-sm-12 col-md-12 col-xs-12 btn-sm\" data-title=\"Klik hier als uw beestje toch nog niet gevonden is.\"><i class=\"fa fa-arrow-left\"></i> Toch nog gezocht?</button></li>");
$("#dier-"+id).addClass("opacityClass");
}else{
if(msg.result == "NotFound"){
$("#delpeterror-"+id).html("<i class=\"fa fa-exclamation-triangle\"></i> Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000);
}
}
},
error: function(){
$("#info-middle-register").hide();
$("#delpeterror-"+id).html("<i class=\"fa fa-exclamation-triangle\"></i> Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000);
}
})
});
e.preventDefault();
});
});
</script>
<!-- Ako klikne na go back kada je zivotinja oznacena kao pronadjena -->
<script type="text/javascript">
$(document).ready(function() {
$(document).on("click","button[class*=btnNotFound]", function(e){
var cijeliID = this.id.split("-");
var id = cijeliID[1];
$.ajax({
url : "pet-found.php",
type: "POST",
dataType: "json",
data : {id : id, status:"notFound", sessionCode : "<?php echo $session_code; ?>"},
beforeSend: function(){
$("#info-middle-register").show();
},
success: function(msg){
$("#info-middle-register").hide();
if(msg.result == "changeMindNotFound"){
$("#watermark-"+id).hide();
$("#dier-"+id).removeClass("opacityClass");
$("#txtFound-"+id).hide();
$("#liTochGezocht-"+id).hide();
$("#drpDown-"+id).html("<li class=\"col-lg-12\"><button id=\"dataTitle btnFound-"+id+"\" class=\"btnFound btn btn-success col-lg-12 col-sm-12 col-md-12 col-xs-12 btn-sm\" data-title=\"Klik hier als uw dier gevonden is\" data-target=\"#confirmBox-"+id+"\" data-toggle=\"modal\"><i class=\"fa fa-home\"></i> Gevonden</button></li><div style=\"clear:both;\"></div><li role=\"separator\" class=\"divide5\"></li><li class=\"col-lg-12\"><form action=\"dier-toevoegen.php\" method=\"POST\"><input type=\"hidden\" name=\"changeID\" value=\""+id+"\"><button id=\"dataTitle\" class=\"btn btn-info col-lg-12 col-sm-12 col-md-12 col-xs-12 btn-sm\" data-title=\"Klik hier om de informatie over uw dier te wijzigen\" type=\"submit\"><i class=\"fa fa-pencil\"></i> Wijzigen</button></form></li><div style=\"clear:both;\"></div><li role=\"separator\" class=\"divider\"></li> <li class=\"col-lg-12\"><button id=\"dataTitle btnVerwijderen-"+id+"\" class=\"linkDelete btn btn-danger col-lg-12 col-sm-12 col-md-12 col-xs-12 btn-sm\" data-title=\"Klik hier om uw dier te verwijderen\" href=\"#\"><i class=\"fa fa-trash\"></i> Verwijderen</button></li>");
}else{
if(msg.result == "changeMindFound"){
$("#delpeterror-"+id).html("<i class=\"fa fa-exclamation-triangle\"></i> Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000);
}
}
},
error: function(){
$("#info-middle-register").hide();
$("#delpeterror-"+id).html("<i class=\"fa fa-exclamation-triangle\"></i> Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000);
}
})
});
});
</script>
<script type="text/javascript">
$(document).ready(function() {
$(document).on("click","button[class*=btnNotFound]", function(e){
// add this around
if (e.handled !== true) {
e.handled = true; // prevent firing two times
// your code
}
$(document).ajaxComplete(function () {
var didItRun = false; //I'm using this boolean to check if I already ran this code.
$('#filterForm2GoodsReceived input').change(function () {
if(didItRun == false)
{
$.ajax({
type: "GET",
url: "/Receiving/List/",
data: $('#filterForm2GoodsReceived').serialize(),
success: function (response) {
$('#listReceivingOrders').html(response);
return false;
}
})
didItRun = true;
}
})
})
<script type="text/javascript">
$(document).ready(function() {
$(document).on("click","button[class*=btnFound]", function(e){
var cijeliID = this.id.split("-");
var id = cijeliID[1];
$($("#confirmBox-"+id).data("target")).fadeIn(400);
e.preventDefault();
});
});
</script>
<script type="text/javascript">
$(document).ready(function() {
$(document).on("click", ".btnFoundConfirm", function(){
var cijeliID = this.id.split("-");
var id = cijeliID[1];
/*$("#confirmBox-"+id).modal('toggle');*/
$.ajax({
url : "pet-found.php",
type: "POST",
dataType: "json",
data : {id : id, status:"found", sessionCode : "<?php echo $session_code; ?>"},
beforeSend: function(){
$("#info-middle-register").show();
},
success: function(msg){
$("#info-middle-register").hide();
if(msg.result == "Found"){
$("#delpetsuccess-"+id).html("<i class=\"fa fa-thumbs-o-up\"></i> Uw huisdier is thuis. De VermisteDieren site wenst u veel plezier met uw beestje.").fadeIn(300).fadeOut(10000);
$("#watermark-"+id).show();
$("#drpDown-"+id).html("<li id=\"liTochGezocht-"+id+"\" class=\"col-lg-12\"><button id=\"dataTitle btnNotFound-"+id+"\" class=\"btnNotFound btn btn-primary col-lg-12 xol-sm-12 col-md-12 col-xs-12 btn-sm\" data-title=\"Klik hier als uw beestje toch nog niet gevonden is.\"><i class=\"fa fa-arrow-left\"></i> Toch nog gezocht?</button></li>");
$("#dier-"+id).addClass("opacityClass");
}else{
if(msg.result == "NotFound"){
$("#delpeterror-"+id).html("<i class=\"fa fa-exclamation-triangle\"></i> Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000);
}
}
},
error: function(){
$("#info-middle-register").hide();
$("#delpeterror-"+id).html("<i class=\"fa fa-exclamation-triangle\"></i> Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000);
}
})
});
});
</script>