请教高手:关于js调用ajax和弹出confirm提示框的问题——急
各位大虾,我现在遇到一个有关js调用ajax和弹出confirm提示框的问题,有点儿麻烦,具体情况如下:
我写了4个文件,其中request.php是一个页面,里面有3个参数:name,application 和 role,其中name是可以填写的text,application 和 role 是两个可以选择的 select。然后页面上有个叫做 "request send" 的 button,点击这个按钮就触发了request.js里的doSend()函数。
request.js里的doSend()函数具体代码如下:
function doSend(name, application,role){
if (document.getElementById("application_select").selectedIndex == 0) {
alert("Please select an application.");
return;
}
if (document.getElementById("role_select").selectedIndex == 0) {
alert("Please select a role.");
return;
}
submit(name, application,role);
}
然后在submit()函数里调用了ajax.request.php,具体代码如下:
function submit(name, application, role){
var message;
var messageBold;
var result;
xmlHttp = GetXmlHttpObject();
if (xmlHttp == null) {
alert ("Your browser does not support AJAX!");
return;
}
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
result = xmlHttp.responseText;
if (result.substring(result.length-4) == "true") {
alert("Registration is successful.");
}
else {
alert(result);
}
window.opener=null;
window.open('', '_self');
window.close();
}
}
var url = "ajax/ajax.request.php";
xmlHttp.open("post",url,true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
xmlHttp.send("name="+name+"&application="+application+"&role="+role);
}
然后ajax.request.php里代码如下:
$name = $_POST['name'];
$application = $_POST['application'];
$role = $_POST['role'];
$requestManager->StartRequest($name, $application, $role);//这里调用了class.requestManager.php里的函数,成功执行后会返回"true"
现在的问题是,在点击"request send" 按钮后,要先在数据库里判断一下,是否这个name已经申请过这个application了,如果申请过了的话,就要弹出一个confirm提示框,询问是否真的要重新申请(重新申请后原来申请的会被覆盖掉)。
我的想法是在调用StartRequest函数前,通过添加js代码来实现弹出confirm提示框的功能,但是由于是在ajax里,所以不能正确运行js代码。
第二个想法是,在request.js里,调用submit函数之前实现这一功能,但是我不知道如何在js里调用php函数(数据库里判断是否申请过的函数在一个叫做class.datenbankManager.php的文件里)。
请问我应该怎样实现这个功能呢?各位大虾请指教,多谢多谢~!