Проверка поля формы загрузки файла - PullRequest
1 голос
/ 13 июля 2010

Это тривиальный вопрос, но по какой-то причине у меня с ним проблемы.

У меня есть HTML для загрузки файла, такого как следующий.

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

И все, что мне нужно сделать, это проверить, когда форма отправлена, что значение было выбрано. Мне не нужна помощь с кодом для отправки формы, мне просто нужна помощь, так как я предполагаю вы не можете проверить это так же, как другие поля ввода формы, такие как текстовые поля.

Я пытался делать что-то вроде ...
var file = document.getElementById('settings').value;<br> if(file.length > 0 == false){<br> //give error messsage here<br>

Я знаю, что это должно быть легко исправить, но я не могу понять это.

Спасибо

Ответы [ 4 ]

3 голосов
/ 13 июля 2010

Я не понимаю, почему это не сработает - до тех пор, пока вы вводите идентификатор:

<input type="file" name="settings" id="settings">
3 голосов
/ 13 июля 2010
<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;
} 
2 голосов
/ 13 июля 2010

Как насчет просто делать:

<input type="file" name="settings" id="settings">
1 голос
/ 13 июля 2010

Вам необходимо присвоить коду атрибут id со значением «settings».У вас странная конструкция if.

if (file.length <= 0) {// сообщение об ошибке} </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...