我要页面上动态的创建上传文件file,现在遇到几个问题,想请教各位....
问题:如下:为什么alert(url.length);显示出来的长度为1呢?为什么inputEle.setAttribute("value",url);这条不起作用呢?
代码如下:
<script>
function RegExpTest(){
var ver = Number(ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion())
if (ver >= 5.5){ // 测试 JScript 的版本。
var src = "范德萨<IMG alt='' hspace=0 src='D:\Documents and Settings\zhengya\桌面\图片与hmtl资料\jsmenu.gif' align=baseline border=0>222<IMG alt='' hspace=0 src='D:\Documents and Settings\zhengya\桌面\图片与hmtl资料\jsmenu.gif' align=baseline border=0>";
var re = /<\s?img[^>]*>/gi; // 创建正则表达式模式。
var arr;
var i = 0;
var subre =/src=[\'\"].*[\'\"]/gi; //获取src路径
while ((arr = re.exec(src)) != null){
var r =arr.toString().match(subre);
createUpload("info",i,r);
i++;
}
}
else{
alert("请使用 JScript 的更新版本");
}
}
//创建上传组件
function createUpload(form,i,url){
alert(url);
alert(url.length);
var inputEle=document.createElement("input");
inputEle.setAttribute("type","file");
inputEle.setAttribute("value",url);
inputEle.setAttribute("name","myfile"+i);
document.getElementById("info").appendChild(inputEle);
}
</script>
------解决方案--------------------
JScript code
……
while ((arr = re.exec(src)) != null) {
……
}
------解决方案--------------------
为什么alert(url.length);显示出来的长度为1呢?
我感觉是不是URL在JS里把它当成数组对象了,所以才会显示为1
为什么inputEle.setAttribute("value",url);这条不起作用呢?
我没用过document.createElement("input"); 所以也不知道是什么原因
------解决方案--------------------
while ((arr = re.exec(src)) != null){
var r =arr.toString().match(subre);
createUpload("info",i,r);
i++;
}
改为
while ((re.exec(src)) != null){
arr = re.exec(src));
var r =arr.toString().match(subre);
createUpload("info",i,r);
i++;
}