无法使用onchange来触发innerHTML更新

时间:2013-11-30 20:46:08

标签: javascript html dom input

好的我希望我的文件上传按钮更改范围我必须让用户知道文件已被选中。

<script type="text/javascript">
function get_filename(obj,fileupid) {
    var file = obj.value;
    var disploc = fileupid.value;
    document.getElementById('current_file_' + disploc).innerHTML='Attached: ' + file;
}
</script>

...

<input type="file" id="file-503" onchange="get_filename(this,'file-503');" /> <span id="current_file_file-503">&nbsp;</span>

有人能看到这段代码有问题吗?实际的输入和跨度ID是可变的,但这是在这种情况下输出它们的方式。

如果我将innerHTML更改直接输入地址栏或暂存器(将'file-503'替换为disploc并且当然只使用'test'作为innerHTML输出),那么它可以工作..但在实际使用中什么都没发生..

我现在几个小时都绞尽脑汁,没有任何意义。

请帮助!!

1 个答案:

答案 0 :(得分:1)

fileupid是传递给函数的参数,它是一个字符串,它没有值?

function get_filename(obj,fileupid) {
    var file = obj.value;
    var disploc = fileupid;
    document.getElementById('current_file_' + disploc).innerHTML='Attached: ' + file;
}

FIDDLE