if (form.elements[i].name.indexOf("txt_")!=-1) { //以“txt_”开头
     form.elements[i].name.replace("txt_","b_");
}直接写不成么? 

解决方案 »

  1.   

    看不太懂??是不是这个意思
    eval(tmp.value)=true
      

  2.   

    我不大明白你说的直接写是写什么,我按我的理解回答吧。这样的txt_开头的控件有十几个,直接写累。而且上面是简化过的问题。
    实际上是对每个txt_开头的控件都有相同的好几句逻辑要执行,当然这几句逻辑执行的结果是
    b_???=true或false。问题说白了,就是根据一个字符串,声明(或同时定义)一个变量。好比说字符串是"b_name",则一个名为b_name的变量=true 
      

  3.   

    eval(tmp).value="true"  ?
      

  4.   

    eval(tmp).value="true"  ?
      

  5.   

    for (var i=0;i<form.elements.length;i++) {
      if (form.elements[i].name.indexOf("txt_")!=-1) { //以“txt_”开头
         var tmp=form.elements[i].name.replace("txt_","b_");
         eval(var tmp=true)
      } 

    //行不?
      

  6.   


    to awaysrain(绝对零度):eval(tmp).value="true"  :(
      

  7.   

    不好意思,刚吃饭去了。to gen2(踏雪观月) 
    eval("var tmp=true;")      :(to cloudchen
    eval(tmp.value)=true      :(
      

  8.   

    var b_name=false;在form.elements[i].name为"txt_name"时,
    var tmp=form.elements[i].name.replace("txt_","b_");
    执行后tmp的值为"b_name",
    执行  alert("tmp is "+tmp+" and eval(tmp) is "+eval(tmp)); 调试,
    结果是"tmp is b_name and eval(tmp) is false",没错!
    但b_name的值只能看不能改成true。