2016-05-27 138 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

怎麼沒有迴應! –