Php 在codeigniter中无文件选择的Ajax表单调用

Php 在codeigniter中无文件选择的Ajax表单调用,php,ajax,codeigniter,upload,Php,Ajax,Codeigniter,Upload,我用的是CodeIgniter。我正在使用ajax表单上传图像。我的主要代码是 <div id="new_photo"> <?php echo form_open_multipart('upload/upload1','id="my_new"');?> <input type="file" name="userfile" size="20" /> <input type="submit" value="upload" id="new_photo_uplo

我用的是CodeIgniter。我正在使用ajax表单上传图像。我的主要代码是

<div id="new_photo">
<?php echo form_open_multipart('upload/upload1','id="my_new"');?>
<input type="file" name="userfile" size="20" />
<input type="submit" value="upload" id="new_photo_upload" name="new_photo_upload" />    
</form>
</div>


为文件输入指定一个id:

<input type="file" name="userfile" id="userfile" size="20" />

js中的更改:

$(document).ready(function() { 
    $('#my_new').ajaxForm(function() { 
        var baseurl = "<?php echo base_url(); ?>";
            $.ajax({
               type: "POST",
               url: baseurl+"upload/new_photo",
               beforeSubmit: function() {
                    if( $("#userfile").val() == "" ){
                        alert( 'Please select a file to upload!' );
                        return false;
                    }
               },
               success: function( r ) {
                 $('#new_photo').html( r );
               },
               error: function(){
                    location.reload( true );
                }
            });
    }); 
});
$(文档).ready(函数(){
$('#my_new').ajaxForm(函数(){
var baseurl=“”;
$.ajax({
类型:“POST”,
url:baseurl+“上传/新建照片”,
提交之前:函数(){
if($(“#userfile”).val()=“”){
警报('请选择要上载的文件!');
返回false;
}
},
成功:功能(r){
$('new#u photo').html(r);
},
错误:函数(){
位置。重新加载(true);
}
});
}); 
});

请在提交前查找验证输入的

您只需在按钮上执行jQuery事件,然后使用preventDefault停止默认操作,检查是否选择了文件并适当地继续脚本
$(document).ready(function() { 
    $('#my_new').ajaxForm(function() { 
        var baseurl = "<?php echo base_url(); ?>";
            $.ajax({
               type: "POST",
               url: baseurl+"upload/new_photo",
               beforeSubmit: function() {
                    if( $("#userfile").val() == "" ){
                        alert( 'Please select a file to upload!' );
                        return false;
                    }
               },
               success: function( r ) {
                 $('#new_photo').html( r );
               },
               error: function(){
                    location.reload( true );
                }
            });
    }); 
});