javascript函数的参数可以是页面元素吗?
本帖最后由 xiaosong2008 于 2013-08-30 11:32:08 编辑
最近,我在做一个Asp.Net页面开发时,要实现上传图片后,将上传图片的地址读取到图片文本框中,为此,我写了一个JavaScript函数,如下:
<script>
function res(textBox,value1)
{
window.opener.form1.getElementById["textBox"].value= " \/UserFiles\/images\/" + value1;
window.close();
}
</script>
这个函数有两个参数,textBox对应图片文本框Id,value1对应上传后的图片名。
想实现的功能是:图片上传后,调用这个函数,将上传图片的名称写入到对应的图片文本框中。
经测试,Asp.Net后台程序能够获取参数值,但是调用这个函数后总是提示:
0x800a138f - Microsoft JScript 运行时错误: 无法获取属性“textBox”的值: 对象为 null 或未定义
这里的参数textBox是页面中表单form1中的文本框,看来是函数没有获取Id为textBox的页面元素值。
想请教一下各位:
javascript函数的参数可以是页面元素吗?如果可以,我这个函数的写法有什么错误吗?
------解决方案--------------------textBox对应图片文本框Id,
我怀疑你的id 是.net下的id
------解决方案--------------------
这样写textBox是<input的name
------解决方案--------------------你的textBox是什么?
是name字符串的话
window.opener.form1[textBox].value= " \/UserFiles\/images\/" + value1;
是id字符串的话
window.opener.document.getElementById(textBox).value= " \/UserFiles\/images\/" + value1;
是dom元素对象的话
textBox.value= " \/UserFiles\/images\/" + value1;
------解决方案--------------------window.opener.forms[form][textBox].value= " \/UserFiles\/images\/" + value1;