这是一个微不足道的问题,但由于某种原因,我遇到了麻烦。
我有HTML用于上传以下文件。
<input type="file" name="settings">
我需要做的就是检查表单提交时是否已选择值。 我不需要帮助提交表单的代码,我只是需要帮助,因为我猜 您无法像其他表单输入字段(如文本框)那样验证这一点。
我尝试过像......这样的事情
var file = document.getElementById('settings').value;
if(file.length > 0 == false){
//give error messsage here
我知道应该有一个简单的解决办法,但我无法弄明白。
由于
答案 0 :(得分:3)
<input type="file" name="field_name" onchange="validate_file_format('field_name','allowed file format as comma separeated')"/>
Ex:
<input type="file" name="sitemap_doc" onchange="validate_file_format('sitemap_doc','doc,pdf')"/>
JS Code:
======
function validate_file_format(field_name, allowed_ext){
obj1=document.req_form;
var temp_field= 'obj1.'+field_name+'.value';
field_value=eval(temp_field);
if(field_value!=""){
var file_ext= (field_value.substring((field_value.lastIndexOf('.')+1)).toLowerCase());
ext=allowed_ext.split(',');
var allow=0;
for ( var i=0; i < ext.length; i++) {
if(ext[i]==file_ext){
allow=1;
}
}
if(!allow){
alert('Invalid File format. Please upload file in '+allowed_ext+' format');
return false;
}
}
return false;
}
答案 1 :(得分:3)
我不明白为什么这不起作用 - 只要你给输入一个id:
<input type="file" name="settings" id="settings">
答案 2 :(得分:2)
刚刚做的事情:
<input type="file" name="settings" id="settings">
答案 3 :(得分:1)
您需要为代码提供值为“settings”的id属性。你有一个奇怪的建筑。
if(file.length&lt; = 0){//错误消息 }