+ -
当前位置:首页 → 问答吧 → 弹出页面之前处理form问题

弹出页面之前处理form问题

时间:2011-10-26

来源:互联网

我想在a页面中,点击一个按钮,弹出b页面。但是在b页面弹出之前,在action里边先处理form,然后再弹出页面,这样可以吗?
是jsp页面。
我用showModalDialog方法,路径哪里写的是xxx.do,传递到action中,没有form,哎。不知道该怎么搞~~求大家帮忙

作者: yudiangong   发布时间: 2011-10-26

可以点击按钮后用ajax请求处理完form数据后,在ajax的回调函数中弹出页面

作者: liangws   发布时间: 2011-10-26

/*
这是一个ajax封装函数
*/
function Ajax(recvType) {
var aj = new Object();
aj.recvType = recvType ? recvType : 'XML';//public
aj.resultHandle = null;//private
aj.sendString = '';//private
aj.targetUrl = '';//private
/*
创建request对象
*/
aj.createXMLHttpRequest = function() {
var request = false;
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
if(request.overrideMimeType) {
request.overrideMimeType('text/xml');
}
} else if(window.ActiveXObject) {
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var i=0, icount=versions.length; i<icount; i++) {
try {
request = new ActiveXObject(versions[i]);
if(request) {
return request;
}
} catch(e) {}
}
}
return request;
}
aj.XMLHttpRequest = aj.createXMLHttpRequest();
aj.processHandle = function() {
if(aj.XMLHttpRequest.readyState == 4 && aj.XMLHttpRequest.status == 200) {
if(aj.recvType == 'HTML') {
aj.resultHandle(aj.XMLHttpRequest.responseText, aj);
} else if(aj.recvType == 'XML') {
try {
aj.resultHandle(aj.XMLHttpRequest.responseXML.lastChild.firstChild.nodeValue, aj);
} catch(e) {
aj.resultHandle('', aj);
}
}
}
}
aj.post = function(targetUrl, sendString, resultHandle) {
aj.targetUrl = targetUrl;
aj.sendString = sendString;
aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
aj.resultHandle = resultHandle;
aj.XMLHttpRequest.open('POST', targetUrl,false);
aj.XMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
aj.XMLHttpRequest.send(aj.sendString);
}
aj.get = function(targetUrl, resultHandle) {
aj.targetUrl = targetUrl;
aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
aj.resultHandle = resultHandle;
var delay = 100;
if(window.XMLHttpRequest) {
setTimeout(function(){
aj.XMLHttpRequest.open('GET', aj.targetUrl,false);
aj.XMLHttpRequest.send(null);}, delay);
} else {
setTimeout(function(){
aj.XMLHttpRequest.open("GET", targetUrl, true);
aj.XMLHttpRequest.send();}, delay);
}

}
return aj;
}
//获取ajax对象
var x = new Ajax("HTML");
var url="这里面写你的请求路径";
x.get(url,function(str){
  if(str){
  alert("如果成功请求就做你的弹框操作");
  }
});

作者: dayInAndDayOut   发布时间: 2011-10-26

用ajax比较好,不然重复刷新之类的问题会很麻烦

作者: chhxxc   发布时间: 2011-10-26