我的表单上有一个 “产品图片”输入域,后面接的是这个file标签。之后有一个按钮,动态增加 一行现在我有一个需求我希望将“产品图片”上面输入的值,当做file标签的name,传到后台业务处理。
请问我该如何实现。
(比如,在产品图片输入域上面输入“衣服” ,如何将file的name的值也变成“衣服”)感谢各位高手帮忙。

解决方案 »

  1.   

    参考参考这个,动态增加按钮的我没有做<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>file标签 name属性赋值问题</title>
    </head><body>
    <form name="form1">
    <input type="text" name="product1" value="中文的" id="product1" >
    <input type="file" id="file1" />
    <input type="button"  value="增加"/>
    <br />
    <input type="submit" onclick="return(save())" value="保存"/>
    </form>
    </body>
    </html>
    <script type="text/javascript">
     function save()
     {
         $("file1").name=document.form1.product1.value;  //设置file的name属性
     alert(eval("document.form1."+ $("file1").name+".value"));
     return false;  //只是为了测试用的
     }
     
     function $(id)
     {
        return document.getElementById(id);
     }
      

  2.   

    $("#id").attr("name","xx");这样赋值
      

  3.   


    关键是,在多文件行的情况下,这个方法,怎么保证每行的“产品图片”,跟每行的file对上呢?比如 第一行:产品图片名称:“衣服”,file1
         第2行:产品图片名称:“裤子”,file2
         第3行:产品图片名称:“首饰”,file3
    动态添加行我做了。就是不知道怎么把每行的产品图片名称,赋给每行的file的name,然后传到后台处理。
    因为需求是,file存到数据库里是要根据产品图片名称来存储的。
      

  4.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>file标签 name属性赋值问题</title>
    </head><body>
    <form name="form1">
    <!-- _fileId 自定义属性,与file id关联-->
    <input type="text" name="product1" _fileId="file1" value="中文的" id="product1" >
    <input type="file" id="file1" />
    <div id="addDiv">
    <!-- 动态增加元素后的位置 -->
    </div>
    <input type="button"  value="增加" onclick="add()"/>
    <br />
    <input type="submit" onclick="return(save())" value="保存"/>
    </form>
    </body>
    </html>
    <script type="text/javascript">
     function save()
     {
         var intputs = document.getElementsByTagName("input");
         for( var i = 0;i < intputs.length;i++)
     {
         if(intputs[i]._fileId)
     {
         alert(intputs[i].value);
     alert(intputs[i]._fileId);
     $(intputs[i]._fileId).name=intputs[i].value;
     }
     }
    // 
         //$("file1").name=document.form1.product1.value;  //设置file的name属性
    // alert(eval("document.form1."+ $("file1").name+".value"));
     return false;  //只是为了测试用的
     }
     
     var i = 2;
     function add()
     {
         var objText = document.createElement("input");
     objText.type="text";
     objText._fileId = "file"+i;
     
     var objFile = document.createElement("input");
     objFile.type="file";
     objFile.id="file"+i;
     
     $("addDiv").appendChild(objText);
     $("addDiv").appendChild(objFile);
     $("addDiv").appendChild(document.createElement("br"));
     i++;
     }
     
     function $(id)
     {
        return document.getElementById(id);
     }
    </script>