请教高手:关于js调用ajax和弹出confirm提示框的问题——急

lucyxi 2013-04-09 05:45:04
各位大虾,我现在遇到一个有关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的文件里)。

请问我应该怎样实现这个功能呢?各位大虾请指教,多谢多谢~!
...全文
389 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lucyxi 2013-05-06
  • 打赏
  • 举报
回复
谢谢LS两位,问题解决了,基本上是参照waiting593大虾提供的方法。
UEAnswer 2013-04-09
  • 打赏
  • 举报
回复
datenbankManager.php中的函数也和StartRequest($name, $application, $role);//这里调用了class.requestManager.php里的函数一样写在ajax.request.php文件中,然后通过先调用判断方法,根据判断结果及js的confirm反馈决定是否调用StartRequest方法。
bbjbepzz 2013-04-09
  • 打赏
  • 举报
回复
提交数据前先发一个请求看下这个name有没有申请过,然后再决定要不要提交

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧