返回false后运行的Javascript函数

时间:2016-05-27 10:54:51

标签: javascript

在我的代码中,当更改选择框时,会调用js函数(ConfirmDelete),询问用户是否确定要更改选择框。如果用户选择“否”,则返回false,通常会停止执行。

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

我想知道在用户选择否后,我是否可以阻止AJAX / JS代码运行。

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脚本标记

1 个答案:

答案 0 :(得分: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事件无法解决问题。 改为使用它;