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--; } JavaScript闭包是什么? php数据库排序问题 stack overflow at line 184 如何当输入框a选择不同时,选择不同的select下拉框呢? 怎么让用javascript方法获得的值,传递给vbscript中的变量 【求助】单选按钮的name属性不确定,如何用JS实现自动选中? 求模拟点击浏览器后退按钮的js代码 HTML+TIME 在win2003中怎么不起作用? 各位高手们,救命啊!两天交活,再线等! 好想研究一下怎样强制终止javascript的执行? 请高手指点 这句是什么意思呢 怎么就循环了一次,请教高手!!!!!
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--;
}