输入类型上未显示AJAX Javascript警报消息=";文件";

输入类型上未显示AJAX Javascript警报消息=";文件";,javascript,jquery,ajax,codeigniter,geojson,Javascript,Jquery,Ajax,Codeigniter,Geojson,我在多部分表单上传递警报验证消息,该表单还使用codeigniter中的AJAX、JSON文件字段。但警报消息适用于除input type=“file”之外的所有表单字段。它在每个字段上完美地显示警报消息,但在图像字段上却没有。关于更多细节,我在下面提到了我的代码,如果有任何错误,请帮助我 HTML表单代码## 这一行是您的问题$config['file\u name']=$\u FILES['img']['name'] 您可以删除上面的行,因为CI已经为您执行了此操作 当没有上传任何内容,并且

我在多部分表单上传递警报验证消息,该表单还使用codeigniter中的AJAX、JSON文件字段。但警报消息适用于除input type=“file”之外的所有表单字段。它在每个字段上完美地显示警报消息,但在图像字段上却没有。关于更多细节,我在下面提到了我的代码,如果有任何错误,请帮助我

HTML表单代码##
这一行是您的问题
$config['file\u name']=$\u FILES['img']['name']

您可以删除上面的行,因为CI已经为您执行了此操作

当没有上传任何内容,并且错误报告处于打开状态时,您将获得输出,该输出将在ajax调用中声明类似于
Message:Undefined index:img
。因此,您的脚本将无法解析json响应


作为将来的参考,您可以在
Developer Tools>Network>{REQUEST\u NAME}>Response
(无价工具)中查看ajax调用返回的内容来调试ajax调用。

这一行是您的问题
$config['file\u NAME']=$\u FILES['img']['NAME']

您可以删除上面的行,因为CI已经为您执行了此操作

当没有上传任何内容,并且错误报告处于打开状态时,您将获得输出,该输出将在ajax调用中声明类似于
Message:Undefined index:img
。因此,您的脚本将无法解析json响应


作为将来的参考,您可以在
Developer Tools>Network>{REQUEST\u NAME}>Response
(非常有用的工具)中查看ajax调用返回的内容,从而调试ajax调用。

如果表单验证通过并且上传失败,您应该看到您的
$error=$this->upload->display\u errors(''
');您没有?是的,错误显示由后端发送,但不显示在客户端…对不起:您可以重新措辞吗?你的意思是你可以在开发工具中看到json编码的错误,但它只是不显示吗?实际上所有(表单验证和显示错误)都是从后端传递的,但在客户端只显示表单错误。。。如果我将文本字段留空,则错误显示…'哎呀!有问题,请检查下面的字段。“但是如果我离开文件字段,错误不会显示……好的,当您填写所有内容(包括图像)时,是否所有内容都正确输入数据库并上载图像?我觉得奇怪的是,图像上传错误没有显示出来,因为代码与表单验证代码相同。如果表单验证通过并且上传失败,你应该看到你的
$error=$this->upload->display_errors(“”,
');您没有?是的,错误显示由后端发送,但不显示在客户端…对不起:您可以重新措辞吗?你的意思是你可以在开发工具中看到json编码的错误,但它只是不显示吗?实际上所有(表单验证和显示错误)都是从后端传递的,但在客户端只显示表单错误。。。如果我将文本字段留空,则错误显示…'哎呀!有问题,请检查下面的字段。“但是如果我离开文件字段,错误不会显示……好的,当您填写所有内容(包括图像)时,是否所有内容都正确输入数据库并上载图像?我觉得奇怪的是,图像上传错误没有显示出来,因为代码与表单验证代码相同。
<div id="mes></div> 
<div class="form-group row">                                    
    <div class="col-md-3 col-xs-12">                                                                                
        <input type="text" name="title" class="form-control input-sm" placeholder="Title here">
    </div>
    <div class="col-md-4 col-xs-12">                                                                                
        <input type="text" name="detail" class="form-control input-sm" placeholder="Description here">
    </div>
    <div class="col-md-2 col-xs-12">                                                                                
        <input type="file" name="img" class="form-control input-sm">                            
    </div>
    <div class="col-md-1 col-xs-12">                                                                                
        <input type="text" name="orderby" class="form-control input-sm" placeholder="Order No">                 
    </div>
    <div class="col-md-2 col-xs-12 text-right">
        <label></label>
        <div class="btn-group">
            <a type="submit" class="btn btn-success btn-sm" id="search" title=""><i class="fa fa-search"></i> Search</a>
            <button type="submit" class="btn btn-success btn-sm" id="save" title=""><i class="fa fa-save"></i> Save</button>
        </div>                                      
    </div>
</div>                              
jQuery(document).ready(function($) 
{ 
    $('#formData').ajaxForm( 
    {
        beforeSubmit: function(formData, jqForm, options)
        { $("div#mes").html(''); },
        success:function(res)
        {             
            var result= $.parseJSON(res);
            $("div#mes").html('<div class="alert '+result.mes+' alert-dismissable" role="alert"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'+result.msg+'</div>');
            if (result.mes == 'text-success') 
            {
                $('#formData').clearForm();
            }
        }           
    });   
});
public function save(){     
    $res = array();     
    //form field validation rules
    $this->form_validation->set_rules('title', 'Title', 'required');
    $this->form_validation->set_rules('detail', 'Detail', 'required');
    $this->form_validation->set_rules('orderby', 'Set Order', 'required|is_unique[slider.orderby]');    
    //form Validation
    if (!$this->form_validation->run()) {           
        echo json_encode(array('mes' => 'alert-danger', 'msg' => 'Opps! Something wrong please check the fields below.'));          
        exit;
    }           
    // imaage configuration
    $config['upload_path'] = 'fassets/images/slider';
    $config['allowed_types'] = 'jpg|jpeg|png|gif';
    $config['file_name'] = $_FILES['img']['name'];
    //Load upload library and initialize configuration
    $this->load->library('upload', $config);            
    if(!$this->upload->do_upload('img'))
    {       
        $error = $this->upload->display_errors('', '<br>');
        echo json_encode(array('mes' => 'alert-danger', 'msg' => $error));
        exit;           
    }
    //prepare data      
    $userData = array(
        'title' => $this->input->post('title'),
        'detail' => $this->input->post('detail'),                               
        'img' =>  $this->upload->data('file_name'),
        'orderby'=> $this->input->post('orderby')
    );         
    //Pass user data to model
    $insertUserData = $this->slidermodel->insert($userData);

    //Storing insertion status message.
    if($insertUserData){
        $res = array(
            'mes' => 'alert-success',
            'msg' => "Record has been saved successfully.",
        );
        echo json_encode($res);
    } else {
        $res = array(
            'mes' => 'alert-danger',
            'msg' => "Oops! Something went wrong.",
        );
        echo json_encode($res);
    }         
}