文件上载表单字段验证

时间:2010-07-12 23:05:26

标签: javascript validation

这是一个微不足道的问题,但由于某种原因,我遇到了麻烦。

我有HTML用于上传以下文件。

 <input type="file" name="settings">

我需要做的就是检查表单提交时是否已选择值。 我不需要帮助提交表单的代码,我只是需要帮助,因为我猜 您无法像其他表单输入字段(如文本框)那样验证这一点。

我尝试过像......这样的事情        var file = document.getElementById('settings').value;
if(file.length > 0 == false){
//give error messsage here

我知道应该有一个简单的解决办法,但我无法弄明白。

由于

4 个答案:

答案 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){//错误消息   }