我在这里遇到了一些问题..
我在index.php上使用upload,我使用jquery(ajax)将任何信息保存到mysql。我有3个文件index.php,savedata.php,jsSave.js
但是当我使用来自savedata.php的$ _REQUEST文件并且结果在mysql表中也是空白响应时,我替换$ _REQUEST并使用$ _FILES并且具有相同的结果。
我已尝试使用的是以下代码......
的index.php
<form class="myform" action="<?php $_SERVER['PHP_SELF'];?>" method="POST" name="myform" id="myform" enctype="multipart/form-data" style="width:350px;">
<li>
<label>Item Picture</label>
<div class="fileUpload btn btn-primary">
<span>Choose Image..</span>
<input type="file" name="cItemPicture" class="cItemPicture" id="cItemPicture"/>
</div>
<input type="hidden" name="cPic" id="cPic"/>
</li>
<li>
<img border="0" src="images/loading_transparent.gif" width="20" height="20" id="imgLoad">
 <button class="button_blue" id="butTblSave" type="submit" style="width: 81px; height: 33px">SAVE</button>
</li>
并且对于savedata.php文件脚本是
<?php
if($_REQUEST)
{
***$cItemPicture=$_FILES["cItemPicture"]["name"];***
$sql="INSERT INTO tblData(item_image) VALUES ('$cItemPicture')";
$result=mysql_query($sql) or die('Cannot Connect To SQL Server, Please contact your administrator');
move_uploaded_file($_FILES["cItemPicture"]["tmp_name"],
"upload/" . $_FILES["cItemPicture"]["name"]);
}
?>
使用jQuery文件作为AJAX工作的最后一个文件是jsSave.js
$(document).ready(function() {
$('#imgLoad').hide();
$('#msgConfirm').hide();
$('#tblAvailabilityResult').hide();
});
$(function() {
$("#butTblSave").click(function() {
$.ajax({
type: 'POST',
url: 'saveData.php',
data: $('form').serialize(),
beforeSend: function() {
$("imgLoad").show();
},
complete: function() {
$("imgLoad").hide();
},
cache: false,
success: function () {
$("#cItemPicture").val('');
$('#imgLoad').hide();
$('#butTblSave').attr("disabled", false);
$('#msgConfirm').fadeIn(500).delay(5000).fadeOut(1000);
$("#msgConfirm").html(' Add New Item Success.');
}
});
return false;
}
});
});
我想念一下吗?当按SAVE按钮ajax响应空白并保存数据到mysql item_image也空白时,也没有文件移入上传文件夹。
对这个问题有什么想法吗?非常感谢。
谢谢
答案 0 :(得分:0)
尝试阻止默认提交表单。 因为表单正在提交给SELF(index.php)
$("#butTblSave").click(function(event) {
event.preventDefault();
...