Javascript проверка не работает для проверки загружаемого файла - PullRequest
0 голосов
/ 26 апреля 2020

Я разрабатываю форму, в которой пользователь должен загрузить файл. Я использую javascript для проверки на стороне клиента, если пользователь не загрузил файл, из-за чего форма не будет отправлена. Он работает для всех других полей в форме, но не для загружаемого файла изображения. Он вводит все функции, кроме моей функции изображения

Вот фрагмент кода:

      <form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST" onsubmit="return 
       validateForm()">


            <h3>Select image:
                <input type="file" name="fImg" id="fImge" accept="image/*">
            </h3>

            <input style="position: relative;top:-20px;left:10px; margin-bottom:5px ; 
           width:150px;height: 30px; float:right;background: #8B0000" type="submit" name="submit" 
           value="Save Changes">
      </form>


    <script>
    function validateForm()
    {


        if(!checkBlankImageById('fImge', 'Please choose an image'))
            return false;

        return true;
    }   //end validateForm()
    </script>

и в моем внешнем js файле

    function checkBlankImageById(obj_id, obj_label)
    {
     alert('entered');
     if($("#" + obj_id).files.length ==0)
    {

       alert(obj_label);
       return false;
    }
     return true;

}

1 Ответ

0 голосов
/ 26 апреля 2020

Источник

Как проверить, пуст ли входной файл в jQuery

jQuery

if ($("#"+obj_id).get(0).files.length === 0) {
    console.log("No files selected.");
}

Vanilla Javscript

if( document.getElementById("videoUploadFile").files.length == 0 ){
    console.log("no files selected");
}

Объяснение: Вы пытаетесь использовать ванильный javascript способ получения длины файлов из jQuery Object

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