0

单击 div 时,它应该更改 div 中的文本(使用 innerHTML 完成),但我还想更改 div 的 onclick 功能

这是我的 JS 代码

document.getElementById('select_image').onclick = document.upload.submit();

当点击 div 时,而不是点击隐藏文件上传 div(它之前做过),它会立即提交表单

如果我在浏览器上按回,它会显示带有更新文本的 div

谢谢

编辑:看起来不是很清楚

我有一个 div (select_image),单击它时,它在隐藏的输入文件元素上使用 JS (.click),因此您可以选择一个文件。

这个 div 正在使用 onclick="function()" 来运行一个更改该 div 中文本的函数,我还希望它更改 onclick 事件以这次实际提交表单(而不是单击隐藏文件输入) 选择文件时。

我正在使用 onchange="" 事件在文件输入上运行以下 JS 函数

function selected_image(image) {
    document.getElementById('select_image').innerHTML = 'click here to upload <span id="selected">' + image.replace('C:\\fakepath\\', '') + '</span>';
    document.getElementById('select_image').onclick = document.upload.submit();
}

<div id="select_image" onclick="document.forms['upload'].elements['image'].click();">click here to select your image</div>

谢谢

4

1 回答 1

0

中的括号submit();会立即执行该函数。现在您正在尝试将返回值分配submitonclick属性。一个可行的解决方案是使用匿名函数来处理事件。

document.getElementById('select_image').onclick = function () {
    document.upload.submit();
    return;
}
于 2013-01-06T14:14:06.637 回答