Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Input type=文件未使用Jquery验证插件传递到php页面_Javascript_Php_Jquery_Ajax_Validation - Fatal编程技术网

Javascript Input type=文件未使用Jquery验证插件传递到php页面

Javascript Input type=文件未使用Jquery验证插件传递到php页面,javascript,php,jquery,ajax,validation,Javascript,Php,Jquery,Ajax,Validation,我有一个带有文件上传功能的html表单,我想使用jquery插件验证它。现在,如果文件为空,则显示错误消息,但如果文件扩展名不同,则应显示消息“不允许使用文件类型”,但它似乎未传递到验证文件类型的文件filecheck.php页面 如何使用jquery插件验证此文件类型?你能帮我吗?谢谢 Html部分: <div id="result"></div> <!--error or success message will be show here--> <

我有一个带有文件上传功能的html表单,我想使用jquery插件验证它。现在,如果文件为空,则显示错误消息,但如果文件扩展名不同,则应显示消息“不允许使用文件类型”,但它似乎未传递到验证文件类型的文件filecheck.php页面

如何使用jquery插件验证此文件类型?你能帮我吗?谢谢

Html部分:

<div id="result"></div> <!--error or success message will be show here-->

<form action="editContactDetails.php" method="post" enctype="multipart/form-data" id="all_contact_details">
  <tr>
    <td></td>  
    <td align="left"><input name="file1" type="file" id="file" class="file"/></td>
    <td></td>
  </tr>
</form>
$(document).ready(function() {  
    // validate signup form on keyup and submit
    $("#all_contact_details").validate({
    submitHandler: function(form) {
        $.ajax({
            url: form.action,
            type: form.method,
            //async: false,
            data: $(form).serialize(),
            beforeSend : function (){
              $('input[type=submit]').attr('disabled', false); 
            },
            success: function(response) {
            $('#result').html(response);
            //$(form).find('div').hide();
            $(form).hide();

            }            
        });
    },

        rules: {            
            file1: {
                    required: true,                    
                    remote: {
                        url: "filecheck.php",
                        type: "post"
                     }
                },

        },
        messages: {         
            file1: {
                    required: "Upload your file",                    
                    remote: "File is not allowed"
                },          
        }
    });

});
Php部分(filecheck.Php)


SubmitHandler在表单有效时处理实际提交:

因此,这不会验证文件扩展名本身

但是,您可以使用jqueryvalidation中内置的
扩展
验证器,该验证器将执行您正试图实现的操作。有关参考和示例,请参见此链接:


在进一步尝试之前,并非所有浏览器都支持使用AJAX提交文件。 但是,您可以使用一种技巧,将表单提交到目标iframe,然后使用javascript读取该iframe的内容并以某种方式显示/使用它们。这样,您就可以在不刷新主窗口的情况下提交表单

这篇文章涵盖了以下内容:

对于某些人来说,从语法上看这很明显,但始终值得一提的是您正在使用哪个jquery验证(带有链接)。可以使用Ajax提交文件。每一个现代浏览器。谢谢你的注意,我改变了内容
<?php
$file1 =  $_FILES['file1']['name']; 
$allowedExts = array("jpg");    
$temp = stripslashes($file1);
$temp = explode(".", $temp);
$extension = end($temp);    

if(!in_array($extension, $allowedExts))
    echo 'false';
else
    echo 'true';        
?>