2016-05-27 34 views
-2

在我的代码中,当选择框更改时,会调用一个js函数(ConfirmDelete),询问用户是否确定要更改选择框。如果用户选择否,它将返回false并通常会停止执行。返回false后运行Javascript函数

我的问题是,我还有另一个AJAX/JS函数定义在此之后,正在等待选择框被改变,如果是,它会发送详细信息到php脚本,它将一个记录添加到mysql数据库。

我想知道是否有无论如何,我可以从一个用户选择号

的JS功能后停止运行AJAX/JS代码

function ConfirmDelete() 
{ 
    var x = confirm("Are you sure?"); 
    if (x) 
    return true; 
    else 
return false; 
} 

的AJAX/JS功能

$(".dropdown").change(function() { 
    var request = new XMLHttpRequest(); 
var id = this.value; 
var content = this.name; 
request.open("POST", "samefile.php", true); 
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
request.onreadystatechange = function() { 
if(request.readyState == 4 && request.status == 200) { 
    var return_data = request.responseText; 
    alert (return_data); 

} 
} 

request.send("id="+id+"&content="+content); 

window.location.reload(); 
window.location.reload();  
} 

); 

的HTML选择框

<select class="dropdown" name="09:00-1-0-16-05-26" Onchange="return ConfirmDelete();"> 
<option class="co0es0sp1fd1oo0fs0" value="47">mike berry</option> 
<option value="cancel-47">Cancel</option></select> 

的HTML的顺序是

  • 在标头中定义

    JS功能

  • HTML代码后

  • AJAX/JS脚本标签

+0

在您的示例中,我没有看到确认删除功能和更改事件功能是如何连接的。它们独立运行,除非您将Ajax代码放入确认删除函数的“true”块中。 – evolutionxbox

回答

1

的AJAX/JS功能

$(".dropdown").change(function() { 
    if(!ConfirmDelete()) return; // right here, use this to confirm 
    var request = new XMLHttpRequest(); 
var id = this.value; 
var content = this.name; 
request.open("POST", "samefile.php", true); 
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
request.onreadystatechange = function() { 
if(request.readyState == 4 && request.status == 200) { 
    var return_data = request.responseText; 
    alert (return_data); 

} 
} 

request.send("id="+id+"&content="+content); 

window.location.reload(); 
window.location.reload();  
} 

); 

直接在HTML中添加onchange事件并不能解决问题。 改为使用它;

+0

怎么没有回应! –