var temp_name=form.elements[i].name; // 是一个串,因为有.name 
temp_name+="_hidden"; // 对象的名字是name_hidden这个样子吗?需保证他真实存在
eval("form."+temp_name+".value")=(checked==true?1:0); // checked是什么?

解决方案 »

  1.   

    试试这样 eval("form."+temp_name+".value=(checked==true?1:0);");
      

  2.   

    function Check_all(checked,form)
    {
    var form=document.all.fr2;
    for (i=0;i<form.length;i++)
    {
    if (form.elements[i].type=='checkbox')
    {
    form.elements[i].checked=(checked==true?true:false);
    form.elements[i].value=(checked==true?1:0);
    var temp_name=form.elements[i].name;
    temp_name+="_hidden";
    temp_name="form."+temp_name+".value";
    eval("alert(temp_name);");
    eval("form."+temp_name+".value")=(checked==true?1:0);
    }
    }
    }整个函数是这样的。form 是一个表单对象,checked是一个checkbox是否选中的状态值
      

  3.   

    加"" 表示是字符串常量 ,不加 表示 是已经定义过的变量。eval 之后,就变成了 一个表达式,得到结果,a=eval('tt')
    表示 tt 的对象
    q=eval('a'+11+"fd")
    表示 a11fd的对象
    a=eval('a'=='b')
    得到 a=false
      

  4.   

    zhjzh_zjz(虚心学习,望多指教) 
    不好意思,我还是不很明白你说的意思。你的tt  11  a  b  都可以是变量呀??????????????????
    就是eval(statements)
    statements中的字符串有时候是"string"+变量+"string "而有时是 "string变量string"不清楚这个+到底什么时候用呀?
      

  5.   

    var x="imafool";//这是一个已经定义的字符串变量
    eval("alert("+x+");");//因为那个x是已经存在的,所以和现有字符串加起来,没有其它的情况了。
    如果还有什么,你最好贴代码。也许你对那些代码理解错了。
      

  6.   

    tt  11  a  b这里,11 是一个数字,当数字和字符串相加时,数字自动转化为字符。所批得到"tt11ab",
    如果:qq="asss";
    eval(c="fafaf"+qq)
    得到 c="fafafasss";
    这里qq是变量,所以,不加""
      

  7.   

    楼上的,怎么觉得你的那句应该写成
    eval("c=fafaf"+qq)???
      

  8.   

    var form=document.all.fr2;eval("form."+temp_name+".value")=(checked==true?1:0);
    就在我贴的代码中
    难道form不是定义的object变量吗?为什么他可以家 ""??