这是关于堆栈溢出的第一个问题。我的javascript函数存在问题。
在我的js代码下面:
function abc(formobject){
var ext =".txt";
var abc=".doc,docx";
if(abc.search(ext) < 0){
alert("hi");
formobject.file.value="";
return false;
}
return true;
}
<input type="submit" id="button" value="submit" onclick="return abc(this.form);">
这里点击提交按钮我调用abc()js函数并上传文件。它执行逻辑,如果文件是无效的扩展名,它应该抛出警告并清除浏览按钮的值。它发生在mozilla但是在IE8中没有清除这些值。任何人都可以帮我解决这个问题吗?
文件是在这里上传的 谢谢
答案 0 :(得分:0)
而不是
formobject.file.value="";
尝试使用
formobject.reset();
希望这有帮助。
答案 1 :(得分:0)
我假设您的表单中只有“浏览”字段。
由于安全限制,无法访问文件输入标记的值字段。更多关于http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx
的内容如果您只想清除文件字段,则必须在文件字段前添加div标记并清除它。
实施例: -
<html>
<head>
<script type="text/javascript">
function abc(formobject){
var ext =".txt";
var abc=".doc,docx";
if(abc.search(ext) < 0){
alert("hi");
document.getElementById('uploadFile_div').innerHTML =
document.getElementById('uploadFile_div').innerHTML;
return false;
}
return true;
}
</script>
</head>
<body>
<form name="theForm">
<div id="uploadFile_div">
<INPUT NAME="file" TYPE="file">
</div>
<input type="submit" id="button" value="submit" onclick="return abc(this.form);">
</body>