function getmoney(i){ 
if((document.frm.PRD_ID+i.value!="")&&(document.frm.DISCNT+i.value=="")) 

var a,b,c; a=document.frm.UPN+i.value; 
b=document.frm.QTY+i.value; 
if((document.frm.QTY+i.value<0)||(document.frm.UPN+i.value<0)) 

alert("数量和单价不能小於零"); 
document.frm.QTY+i.focus(); 
frm.QTY+i.value=0; 
frm.UPN+i.value=0; 
return false(); 

else 

c=a*b; 
frm.AMT+i.value=c; 
}
試了N次PRD_ID+i控件名稱和I組合都不能取到I的值,是不是我這個格式不對.
謝謝各位大蝦

解决方案 »

  1.   

    有问题 应该用eval()方法把你拼接的字符串输出 这样才能获得到控件里的值
    给你举个例子
    把这句
    a=document.frm.UPN+i.value;
    改为
    a=eval("document.frm.UPN"+i+".value");
    alert(a);//输出下看看
    试试看能否获得到值
    如果可以的话 把所有这样的地方 都改了 就好了 希望能帮到你
      

  2.   

    SORRY 着急 少打了个定义变量的关键字 
    var a=document.frm.UPN+i.value; 
    改为 
    var a=eval("document.frm.UPN"+i+".value"); 
    alert(a);//输出下看看 
      

  3.   

    把document.frm.改为
    document.getElementById("QTY"+i).
    形式好了...
      

  4.   

    document.frm.PRD_ID+i
    这个拼接好像不是这样的,我当时做这种拼接的时候是这样做的
    var PRD_IDS = "PRD_ID"+i;
    a = document.getElementById(PRD_IDS).value;
    你可以试试这样
      

  5.   

    謝謝,但是frm.AMT+i.value=c; 這個怎麼輸出不到它文本框里的值呢?
    由於要一天之後才能加分,這個問題解決我再加30分.謝謝各位啦!
      

  6.   

    但是為什麼
    frm.AMT+i.value=c; 卻不能得到值呢.請問它的格式應如何寫
    由於發帖一天之後才能加分,如上面問題解決我再加30分
    現特別感謝yanbin1016 ,lanzhengwu ,RamBo_jay 
      

  7.   

    但是為什麼frm.AMT+i.value=c; 就不行了呢,請問給值給AMT+I又如何寫
    由於發貼一天後才能加分
    如上面問題解決結貼才加30分
    現特別感謝 
    lanzhengwu ,yanbin1016, RamBo_jay