由于某种原因,我的复选框无法控制我拥有的文件上传字段。谁能看出这是怎么回事吗?当我选中该框时,它什么也不做,并且我没有收到任何返回的错误?
<script type="text/javascript">
function checkBox() {
var changeimage=document.forms["myform"]["changeimage"].checked
if (changeimage) {
document.forms["myform"]["picupload"].style.display='';
} else {
document.forms["myform"]["picupload"].style.display='none';
}
}
</script>
...
<input type="checkbox" name="chnageimage" id="changeimage" onclick"checkBox();" />
<label for="changeimage"></label>
<br />
<label for="picupload"></label>
Picture
<input type="file" name="picupload" id="picupload" style="display: none;"/>
<br />
<img src="userpics/<?php echo $row['Photo'] ?>" /></p>
最佳答案
这样做要好得多。
像这样更改您的 HTML 复选框。在 onclick
事件
HTMLElement
的 this
对象
<input type="checkbox" name="chnageimage" id="changeimage" onclick="checkClick(this);" />
现在您可以像这样更改您的 JavaScript。
function checkClick(objCheckBox) {
document.getElementById("picupload").style.display = objCheckBox.checked ? 'block' : 'none';
}
.style.display
没有有效值,取值 ''
。在本例中它应该是block
。
关于Javascript 在选中复选框时隐藏/取消隐藏文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7058317/