注册 登录
编程论坛 ASP技术论坛

文本框依次显示代码

bxyl 发布于 2008-06-03 17:15, 1576 次点击
我想要三个文本框,打开页面的时候是是灰色不可输入狀态,在打开5秒后第一个文本框恢复(即可输入的狀态),10秒后第二个文本框恢复,15秒后第三个文本框恢复。该怎么写?
17 回复
#2
multiple19022008-06-03 17:39
<script>
setTimeout("document.getElementById('textbox1').disabled=''",5000)
</script>

论坛有javascript版,欢迎去交流。
#3
tianyu1232008-06-03 17:58
做个参考
<form name=form1>
文本框一:<input type=text name=t1 id=t1 size=20 disabled=true style="background-color=RGB(144,144,144);"><br>
文本框二:<input type=text name=t2 id=t2 size=20 disabled=true style="background-color=RGB(144,144,144);"><br>
文本框三:<input type=text name=t3 id=t3 size=20 disabled=true style="background-color=RGB(144,144,144);">
</form>
<script language=javascript>
function t1()
{
var t1=document.getElementById("t1");
t1.disabled=false;
t1.style.backgroundColor="#FFFFFF";
}
function t2()
{
var t2=document.getElementById("t2");
t2.disabled=false;
t2.style.backgroundColor="#FFFFFF";
}
function t3()
{
var t3=document.getElementById("t3");
t3.disabled=false;
t3.style.backgroundColor="#FFFFFF";
}
setTimeout("t1()",5000);
setTimeout("t2()",10000);
setTimeout("t3()",15000);
</script>
#4
yms1232008-06-03 18:10
<html>
<head>
<title>文本框可用Javascript特效</title>
<script language="javascript">
var Sec=0;
var disabledTime;
function Page_Load()
{
  disabledTime=window.setTimeout("Page_Load()",1000);
  //设置每秒执行Page_Load函数一次
  Sec++;//秒数增加
  for(var i=0;i<this.InpTxt.length;i++)
  {
      if(this.InpTxt[i].disabled)//判断文本框是否可用
         this.InpTxt[i].value="已经过去了:"+Sec+"秒";//显示时间
  }
  //秒数判断
  switch(Sec)
  {
      //5秒之后
      case 5:
         this.InpTxt[0].disabled=false;//使文本框可用
         this.InpTxt[0].value="文本框0可用";
      break;
      //10秒之后
      case 10:
         this.InpTxt[1].disabled=false;
         this.InpTxt[1].value="文本框1可用";
      break;
      //15秒之后
      case 15:
         this.InpTxt[2].disabled=false;
         this.InpTxt[2].value="文本框2可用";
         window.clearTimeout(disabledTime);
         //停止重复执行Page_Load函数的操作
      break;   
  }
}
</script>
</head>
<body onLoad="Page_Load();">
  <input type="text" name="InpTxt" disabled >文本框0<br>
  <input type="text" name="InpTxt" disabled >文本框1<br>
  <input type="text" name="InpTxt" disabled >文本框2<br>
</body>
</html>
#5
bxyl2008-06-03 18:34
感謝大家的热心幫助!!
#6
adsdomain2008-06-03 19:51
好代码学习下..
#7
ilovey42008-06-04 02:35
学习了
#8
makebest2008-06-04 08:55
如果是名字不同的文本框,这样最好了
<input name=a disabled>
<input name=b disabled>
<input name=c disabled>
<SCRIPT LANGUAGE="JavaScript">
<!--
var names=["a","b","c"];
var index=0;
var si = setInterval("enables()",5000);
function enables()
{
    if(index<names.length)
    {
        document.getElementById(names[index]).disabled=false;
        index++;
    }
    else
        clearInterval(si);
}
//-->
</SCRIPT>
#9
bxyl2008-06-04 14:28
回复 4# yms123 的帖子
4楼这个代码是我想要的,不过我試了一下,这段代码我放在form表单里它就失效了,是怎么回事?
#10
hmhz2008-06-04 14:35
8楼的思路不错,但使用setInterval同步会卡死你的浏览器
#11
bxyl2008-06-04 14:46
回复 10# hmhz 的帖子
版主幫看下4楼的那个代码

4楼这个代码是我想要的,不过我試了一下,这段代码我放在form表单里它就失效了,是怎么回事?
#12
hmhz2008-06-04 15:28
程序代码:
<script language="javascript">
var Sec=0;
var disabledTime;
function Page_Load(){
  disabledTime=window.setTimeout("Page_Load()",1000);
  Sec++;
  var input=document.getElementById("form1").getElementsByTagName("input");
  for(var i=0;i<input.length;i++){if(input[i].disabled) input[i].value="已经过去了:"+Sec+"秒";}

  switch(Sec){
      case 5: input[0].disabled=false; input[0].value=""; break;
      case 10: input[1].disabled=false; input[1].value=""; break;
      case 15: input[2].disabled=false; input[2].value=""; window.clearTimeout(disabledTime); break;   
  }
}
</script>

<body onLoad="Page_Load();">
<form id="form1" method="post">
  <input type="text" name="InpTxt" disabled >文本框0<br>
  <input type="text" name="InpTxt" disabled >文本框1<br>
  <input type="text" name="InpTxt" disabled >文本框2<br>
</form>
</body>
#13
bxyl2008-06-04 16:36
程序代码:
                        <script language="javascript">
var Sec=0;
var disabledTime;
function Page_Load(){
  disabledTime=window.setTimeout("Page_Load()",1000);
  Sec++;
  var input=document.getElementById("form1").getElementsByTagName("input");
  for(var i=0;i<input.length;i++){if(input[i].disabled) input[i].value="已经过去了:"+Sec+"秒";}

  switch(Sec){
      case 5: input[0].disabled=false; input[0].value=""; break;
      case 10: input[1].disabled=false; input[1].value=""; break;
      case 15: input[2].disabled=false; input[2].value=""; window.clearTimeout(disabledTime); break;   
  }
}
</script>
<body onLoad="Page_Load();">
                        <form method="POST">
                            <table border="0" width="100%" id="table8" cellspacing="1" cellpadding="5" bgcolor="#CCCCCC">
                            <tr>
                                    <td bgcolor="#FFFFFF" align="center" colspan="2">
  <input type="text" name="InpTxt" disabled >文本框0<br>
  <input type="text" name="InpTxt" disabled >文本框1<br>
  <input type="text" name="InpTxt" disabled >文本框2<br>
                                    </td>
                                </tr>
                                <tr>
                                    <td bgcolor="#FFFFFF" align="center" colspan="2">
                                    <input type="submit" value=" 提交" name="B1"></td>
                                </tr>
                            </table>
                            <input type="hidden" name="mm" value="1">
                        </form>
                    </body>


这个错在哪了?
#14
hmhz2008-06-04 16:49
<form method="POST">  缺少 id="form1"
<form id="form1" method="post">
#15
bxyl2008-06-04 17:03
非常感謝!
#16
lele20072008-06-05 23:36
JS代码我完全看不懂 555555555
#17
zhangyao32872008-06-06 08:46
document.getElementById("form1").getElementsByTagName("input");
取得id=form1的表单的input,使用别人代码前要明白别人写的是什么意思,
以后用起来才得心应手,也是很好的学习方法啊
#18
huangjg2008-06-22 20:00
学习
1