JavaScript一个简单的问题,谢谢大家~! 把document.frmBase.action = url2; document.frmBase.submit(); 这两句删了试试,应该可以吧. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的目的是为了让程序在这个地方等待2s吧,javascript里面没有提供这种功能额,你可以在函数里面判断wait的值来实现,也就是wait==0时,也可以用其他的一个变量,用来判断就可以了 主要是“传参”function goOnce(url2){ document.frmBase.pdf.disabled = true; if(wait == 0){ document.frmBase.pdf.value = "输出PDF"; document.frmBase.pdf.disabled = false; wait=2; document.frmBase.action = url2; document.frmBase.submit(); } else{ document.frmBase.pdf.value = "稍后打印"+wait; wait--; window.setTimeout(function(){goOnce(url2)},speed);} } function goOnce(url2){ document.frmBase.pdf.disabled = true; if(wait == 0){ document.frmBase.pdf.value = "输出PDF"; document.frmBase.pdf.disabled = false; wait=2; } else{ document.frmBase.pdf.value = "稍后打印"+wait; wait--; //以下代码有问题: window.setTimeout("goOnce(url2)",speed); //这个不是sleep,有问题 document.frmBase.action = url2; document.frmBase.submit(); }} 这个我试了,删除了,就无法打印PDF了。 window.setTimeout("goOnce(url2)",speed);如果想延时执行goOnce(url2);注意这有个问题,应该改成:window.setTimeout("goOnce('"+url2+"')",speed);延时结束时,url2 不是全局变量 你是想先设置延时打印,再保存?如果是这样,那form的 target 就不应该是当前页面, form submit 后,本窗口就刷新了,那些延时会被取消了 你判断wait==0后把按钮恢复正常不就可以了 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script type='text/javascript'> var speed = 1000; //速度 var wait = 2; //停留时间 function goOnce(){ var obj = document.getElementById('pdf'); obj.disabled = true; if(wait == 0){ obj.value = "outPDF"; obj.disabled = false; wait=2; //这里提交 } else{ obj.disabled = false; obj.value = "wait:("+wait +")"; obj.disabled = true; wait--; window.setTimeout("goOnce()",speed); } } </script> </HEAD> <BODY> <form name=frmBase> <input id='pdf' type="button" value="outPDF" onclick="goOnce();"/> </form> </BODY></HTML>测试了好用!LZ 应该注意的是 提交的时候, 和 window.setTimeout("goOnce()",speed); 的写法。 最后补充一下, 如果goOnce() 要传递参数的话。 window.setTimeout("goOnce()",speed); 改为: window.setTimeout(function(){goOnce(参数列表);},speed); 谢谢大家~!我已经改了。发出来和大家分享一下~!~1var speed = 1000; //速度 var wait = 60; //停留时间 var timerId ; function goOnce(url2){ document.frmBase.pdf.disabled = true; document.frmBase.action = url2; document.frmBase.submit(); timerId = window.setInterval(function(){doesPDFValid(url2);},speed); } function doesPDFValid(){ document.frmBase.pdf.value = "稍后打印"+wait; document.frmBase.pdf.disabled = true; if (wait == 0){ document.frmBase.pdf.disabled = false; document.frmBase.pdf.value = "输出PDF"; window.clearInterval(timerId); wait = 60; }else wait--; } maquee代码在html4.0下有效,xhtml1.0就显示不正常 EXTJS中,fieldset自带的checkbox如何通过代码控制选中和取消? 梅花雪树形菜单复选框问题 JSP多文件上传问题 javascript document.execCommand('undo') 无效哦?~~~~~ 这段代码怎么不是删除当前的div 而是把最后一个div删除了 关于模态窗口保存参数的问题 @@@@@@@@@@@@@@ 怎样实现取消表单的提交? 如何用javascript保存数据,有相当于session的东东吗? 请教大虾: 请高手指点 这句是什么意思呢 怎么就循环了一次,请教高手!!!!!
document.frmBase.pdf.disabled = true; if(wait == 0){
document.frmBase.pdf.value = "输出PDF";
document.frmBase.pdf.disabled = false;
wait=2;
document.frmBase.action = url2;
document.frmBase.submit();
}
else{
document.frmBase.pdf.value = "稍后打印"+wait;
wait--;
window.setTimeout(function(){goOnce(url2)},speed);}
}
document.frmBase.pdf.disabled = true; if(wait == 0){
document.frmBase.pdf.value = "输出PDF";
document.frmBase.pdf.disabled = false;
wait=2;
}
else{
document.frmBase.pdf.value = "稍后打印"+wait;
wait--;
//以下代码有问题:
window.setTimeout("goOnce(url2)",speed); //这个不是sleep,有问题
document.frmBase.action = url2;
document.frmBase.submit();
}
}
这个我试了,删除了,就无法打印PDF了。
如果想延时执行goOnce(url2);注意这有个问题,应该改成:
window.setTimeout("goOnce('"+url2+"')",speed);
延时结束时,url2 不是全局变量
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type='text/javascript'>
var speed = 1000; //速度
var wait = 2; //停留时间 function goOnce(){
var obj = document.getElementById('pdf');
obj.disabled = true;
if(wait == 0){
obj.value = "outPDF";
obj.disabled = false;
wait=2;
//这里提交
}
else{
obj.disabled = false;
obj.value = "wait:("+wait +")";
obj.disabled = true;
wait--;
window.setTimeout("goOnce()",speed);
}
} </script>
</HEAD> <BODY>
<form name=frmBase>
<input id='pdf' type="button" value="outPDF" onclick="goOnce();"/>
</form>
</BODY>
</HTML>测试了好用!
LZ 应该注意的是 提交的时候, 和 window.setTimeout("goOnce()",speed); 的写法。
var speed = 1000; //速度
var wait = 60; //停留时间
var timerId ;
function goOnce(url2){
document.frmBase.pdf.disabled = true;
document.frmBase.action = url2;
document.frmBase.submit();
timerId = window.setInterval(function(){doesPDFValid(url2);},speed);
}
function doesPDFValid(){
document.frmBase.pdf.value = "稍后打印"+wait;
document.frmBase.pdf.disabled = true;
if (wait == 0){
document.frmBase.pdf.disabled = false;
document.frmBase.pdf.value = "输出PDF";
window.clearInterval(timerId);
wait = 60;
}else
wait--;
}