我不明白,谷歌也没有给我答案。我想上传一个文件,结果显示在div中没有页面重新发送,但我无法得到它!!!!
HTML:
<form method="post" action="process/pic2.php" enctype="multipart/form-data" id="userpic">
<p>Izvēlies bildi: <input type="file" name="img_to_upload" /><input type="submit" name="upload" value="Augšupielādēt" /></p>
</form>
jquery的:
jQuery(function(){
jQuery('#userpic').submit(function(){
jQuery.ajax({
type: 'POST',
enctype: 'multipart/form-data',
url: jQuery('#userpic').attr('action'),
data: jQuery('#userpic').serialize(),
success: function(data){
if(data){
jQuery('#picinfo').html(data);
}else{
jQuery('#uerpic').fadeOut(500);
jQuery('#picinfo').html('<center><img src="img/loader.gif" /></center>');
window.location = 'index.php';
}
}
});
return false;
});
});
和我的php:
if(isset($_FILES['img_to_upload']['name']) && !empty($_FILES['img_to_upload']['name'])){
echo 'Done!';
}else{
echo 'Error!';
}
一直显示“错误”文字..
P.S。抱歉英语不好。
答案 0 :(得分:1)
通常,要进行表单提交,并保持在同一页面上,您必须使用Javascript阻止默认表单操作,如下所示:
$("#userpic").submit(function(event) {
event.preventDefault();
...
});
但是,通过Ajax上传图像非常棘手 - 请参阅: