try it:
<script language="javascript">
<!--
function aa()
{
var a;
var b;
var d;
b=document.form1.myname.value;
alert(b);
a=document.form1+'.'+b;
d=a + '.value';
alert(d);}
//-->
</script>

解决方案 »

  1.   

    当然不行了,这样有什么意义呢?
    document.form1是一个对象,又不是字符串,不能用+'.'这样的字符串操作,但如下时可的:var strTemp = document.all("cnlID" + 6).value; 
      

  2.   

    soft21:对不起,你能说得更明白一点吗?var strTemp = document.all("cnlID" + 6).value; 这是表示怎么意思。"cnlID"+6是表示怎么?谢谢!!!
      

  3.   

    eval ("a=document.form1."+b);
    eval ("d="+a+".value);
    alert (d);
      

  4.   

    <form name=xixi>
    <input type=text name=haha >
    </form><script >
    op="haha";
    document.xixi.elements[op].value="ooo";
    </script>
      

  5.   

    form1是一个对象,你这么直接加肯定是有问题的,javascript吧document.form1直接转换成字符串了,所以后来你alert(d)的时候会弹出object.****这个结果就是你把一个字符串与对象相加时的错误,对于字符串的处理javascript倒很象java,找本书参考吧,另外我没有弄懂你程序的真正意思,所以不好改~a=document.form1+'.'+b;
      

  6.   

    var strTemp = document.all("cnlID" + 6).value的意义是:取得name为cnlID6控健的input的值.如:
    <input name="cnlID6" id="cnkID6" value="">,就像runmin(稻草人)一样,我也没真正看出来你那代码的真正用意。
      

  7.   

    好奇怪的用法啊!
    其实你可以用
    <script language="javascript">
    <!--
    function aa()
    {
    var a;
    var b;
    var d;
    b=document.form1.myname.value;
    alert(b);
    //a=document.form1+'.'+b;
    //d=a.value;
    d = document.getElementById(b)  // 看你怎么用, 还有getElementByName()
    alert(d.value);}
    //-->
    </script>