当点击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 ="" event在文件输入上运行以下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>
由于
答案 0 :(得分:0)
submit();
中的括号会立即执行该函数。现在,您尝试将返回值从submit
分配给onclick
属性。一个有效的解决方案是使用匿名函数来处理事件。
document.getElementById('select_image').onclick = function () {
document.upload.submit();
return;
}