函数调用顺序问题!很奇怪 function a(){ c(); if(isCancel){ alert("1"); } } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script language="javascript">var isCancel = false;function a(){ c(); if(isCancel == true){ alert("1"); } }function b(){ c();}function c(){ isCancel = true;}</script><script>a()</script>这样调用的时候是可以通过的 <script language="javascript">var isCancelApprove = false;function checkCancelApprove(alink,doPath){ //alert(doPath); convertToXML(doPath); //如果为True,返回到当前页面 alert(isCancelApprove); if( isCancelApprove == true){ //alert(isCancelApprove); window.event.returnValue = false; window.location.href = window.location.href; } return false;}//Ajax----------------------var req;var funDoPath;function convertToXML(doPath) { var url = "/checkListApprover?method=" + escape("get"); var contractNo = ""; funDoPath = doPath; parameters = doPath.split('&'); for(var i = 0;i < parameters.length; i ++) { parameter = parameters[i].split('='); if (parameter[0] != null && parameter[0].indexOf("contractNo") > -1) { contractNo = parameter[1]; } } url = url + "&contractNo=" + escape(contractNo); if (window.XMLHttpRequest) { req = new XMLHttpRequest( ); } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } req.open("get",url,true); req.onreadystatechange = callback; req.send(null);}function nonMSPopulate( ) { xmlDoc = document.implementation.createDocument("","", null); var resp = req.responseText; var parser = new DOMParser( ); var dom = parser.parseFromString(resp,"text/xml"); var flagVal = dom.getElementsByTagName('flag'); strFlag = flagVal[0].childNodes[0].nodeValue; var messageVal = dom.getElementsByTagName('message'); strMessage = messageVal[0].childNodes[0].nodeValue; if (confirm(strMessage + ". Are you sure to submit?")) { //document.forms[0].submit(); }}function msPopulate( ) { var resp = req.responseText; var xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.loadXML(resp); nodes=xmlDoc.documentElement.childNodes; var flagVal = xmlDoc.getElementsByTagName('flag'); strFlag = flagVal[0].firstChild.data; var messageVal = xmlDoc.getElementsByTagName('message'); strMessage = messageVal[0].firstChild.data; if (strFlag == "0") { isCancelApprove = true; //alert(strMessage); } else { isCancelApprove = true; alert(strMessage); }}function callback( ) { if (req.readyState==4) { if (req.status == 200) { if (window.XMLHttpRequest) { nonMSPopulate( ); } else if (window.ActiveXObject) { msPopulate( ); } } }}原代码是这样的,怕有点乱.我上边写发问时写的那个,刚才我也试了,是可以的.看来不是函数的执行顺序问题,我开始的理解错了,不好意思,误导大家了.那看看这段代码,问题出在哪里呢? div 居中问题 火狐与IE下兼容问题 静态页面分页方法 请问function 的参数如果是一个function该怎么写 大家见过最狠的拦截工具是什么啊,可以把你浮动层也屏蔽的? showmodaldialog问题 如何使一个INPUT控件无法失去焦点?我想在onblur中实现 选项卡代码问题:刷新页面保持原来选项,怎么做? 字号问题? FileSystemObject 对象??? 火狐不能用javascript的问题 求一正则表达式,
var isCancel = false;
function a(){
c();
if(isCancel == true){
alert("1");
}
}
function b(){
c();
}
function c(){
isCancel = true;
}
</script>
<script>a()</script>这样调用的时候是可以通过的
var isCancelApprove = false;
function checkCancelApprove(alink,doPath){
//alert(doPath);
convertToXML(doPath);
//如果为True,返回到当前页面
alert(isCancelApprove);
if( isCancelApprove == true){
//alert(isCancelApprove);
window.event.returnValue = false;
window.location.href = window.location.href;
}
return false;
}
//Ajax----------------------
var req;
var funDoPath;
function convertToXML(doPath) {
var url = "/checkListApprover?method=" + escape("get");
var contractNo = "";
funDoPath = doPath;
parameters = doPath.split('&');
for(var i = 0;i < parameters.length; i ++) {
parameter = parameters[i].split('=');
if (parameter[0] != null && parameter[0].indexOf("contractNo") > -1) {
contractNo = parameter[1];
}
}
url = url + "&contractNo=" + escape(contractNo);
if (window.XMLHttpRequest) {
req = new XMLHttpRequest( );
}
else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("get",url,true);
req.onreadystatechange = callback;
req.send(null);
}function nonMSPopulate( ) {
xmlDoc = document.implementation.createDocument("","", null);
var resp = req.responseText;
var parser = new DOMParser( );
var dom = parser.parseFromString(resp,"text/xml"); var flagVal = dom.getElementsByTagName('flag');
strFlag = flagVal[0].childNodes[0].nodeValue;
var messageVal = dom.getElementsByTagName('message');
strMessage = messageVal[0].childNodes[0].nodeValue;
if (confirm(strMessage + ". Are you sure to submit?")) {
//document.forms[0].submit();
}
}function msPopulate( ) {
var resp = req.responseText; var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(resp);
nodes=xmlDoc.documentElement.childNodes; var flagVal = xmlDoc.getElementsByTagName('flag');
strFlag = flagVal[0].firstChild.data;
var messageVal = xmlDoc.getElementsByTagName('message');
strMessage = messageVal[0].firstChild.data;
if (strFlag == "0") {
isCancelApprove = true;
//alert(strMessage);
} else {
isCancelApprove = true;
alert(strMessage);
}
}function callback( ) {
if (req.readyState==4) {
if (req.status == 200) {
if (window.XMLHttpRequest) {
nonMSPopulate( );
}
else if (window.ActiveXObject) {
msPopulate( );
}
}
}
}
原代码是这样的,怕有点乱.我上边写发问时写的那个,刚才我也试了,是可以的.
看来不是函数的执行顺序问题,我开始的理解错了,不好意思,误导大家了.
那看看这段代码,问题出在哪里呢?