我的表单上有一个 “产品图片”输入域,后面接的是这个file标签。之后有一个按钮,动态增加 一行现在我有一个需求我希望将“产品图片”上面输入的值,当做file标签的name,传到后台业务处理。
请问我该如何实现。
(比如,在产品图片输入域上面输入“衣服” ,如何将file的name的值也变成“衣服”)感谢各位高手帮忙。
解决方案 »
- JS里的flot插件画柱状图时,怎么做对比
- ext中用Ext.grid.plugin.RowEditing不能同时保存数据
- 中转页问题,热心的朋友帮忙啊
- 大众点评网其中一个功能具体如何实现
- 关于JavaScript的一些想法
- [急][求助]JavaScript中,我要往多选框里添加不重复元素的算法实现
- 关于JS自动计算的问题
- 请问htc能做到的效果,是不是直接用js也可以?
- JavaScript怎样触发控件的标准事件,如触发OnChange,OnClick等事件?
- 用javascript的window.print()可以调用window内置的打印。ie有个打印预览功能,可否用javascript语句实现?
- 为什么弹不出属性节点啊
- 谁能帮我解释下这个JQ语句的意思和作用
<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);
}
关键是,在多文件行的情况下,这个方法,怎么保证每行的“产品图片”,跟每行的file对上呢?比如 第一行:产品图片名称:“衣服”,file1
第2行:产品图片名称:“裤子”,file2
第3行:产品图片名称:“首饰”,file3
动态添加行我做了。就是不知道怎么把每行的产品图片名称,赋给每行的file的name,然后传到后台处理。
因为需求是,file存到数据库里是要根据产品图片名称来存储的。
<!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>