我正在使用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>
我的剧本是
<script>
$(document).ready(function() {
$('#my_new').ajaxForm(function() {
var baseurl = "<?php echo base_url(); ?>";
$.ajax({
type: "POST",
url: baseurl+"upload/new_photo",
success: function( r ) {
$('#new_photo').html( r );
},
error: function(){
location.reload( true );
}
});
});
});
</script>
在这里,如果我上传图像并单击upload
,它将通过ajax上传并正确加载upload/new_photo。
但问题是,如果没有图像选择,如果我点击上传按钮,它将加载上传/new_photo。我不想要这个。如果我选择任何图片,那么只有它是提交的。
帮助我…
给文件输入一个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 );
}
});
});
});
查找验证输入的beforeSubmit
。