【问题标题】:Javascript validation not working for checking file which is being uploadedJavascript验证不适用于检查正在上传的文件
【发布时间】:2020-08-10 02:39:05
【问题描述】:

我正在设计一个用户必须上传文件的表单。如果用户没有上传文件,我将使用 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;

}

【问题讨论】:

    标签: javascript php jquery web


    【解决方案1】:

    来源

    How to check if input file is empty in jQuery

    jQuery

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

    原版 Javscript

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

    说明:您正在尝试从 jQuery 对象获取文件长度的 vanilla javascript 方式

    【讨论】:

    • 但它甚至进入了我的空白文件检查函数
    • 那么在这种情况下,您在另一个范围内定义了一个函数并在另一个范围内调用它。
    • 通过发布 chrome 开发工具的控制台选项卡的屏幕截图来验证这一点
    • 这实际上是我的浏览器的问题
    猜你喜欢
    • 2017-12-05
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 2021-03-06
    相关资源
    最近更新 更多