请帮帮我。
我在index.php中有这样的形式
<form id="statusForm" enctype="multipart/form-data" method="post">
<textarea name="statusText" role="textbox" id="wallpost"></textarea>
<input id="photo_input" type="file" name="photo_input" />
<input type="hidden" name="to_id" value="1" >
<button type="button" name="submit" onClick="write_wall_post();">
</form>
<div id="content"></div>
然后我有.js文件来处理这个表单
function write_wall_post()
{
var formData = new FormData($("#statusForm")[0]);
$.ajax({
type: "POST",
url: "act_post_status.php",
data: formData,
success: function(data){
$("#wallpost").val("");
$("#photo_input").val('');
var newStatus=data;
$(newStatus).hide().prependTo("#content").fadeIn(2000);
},
processData: false, // tell jQuery not to process the data
contentType: false,
cache:false
});
}
我有act_post_status.php来处理此文件提交
<?php
//some configuration
if($_SERVER['REQUEST_METHOD'] == "POST")
{
//some variable declaration and image validation
//Original Image
if(move_uploaded_file($uploadedfile, $path.$time.'.'.$ext))
{
$is_image=1;
}
else
echo "failed";
}
}
//inserting data to database
$status = trim(strip_tags(htmlspecialchars($_POST["statusText"])));
mysql_query("insert into news (status,is_image) values ('$status','$is_image')");
echo "<div class='post'>$status</div>";
?>
我想要的场景是: 当用户输入数据(状态),然后单击提交按钮,内容自动显示更新(由jquery处理)
但事实是:
(1)当我完成表格(状态和图片)时,它正常工作。
(2)但是当我只完成数据表单(仅填充状态输入)时,它已成功提交到数据库,但内容不会自动更新。我应该刷新它们以获得更新。
(3)当我只是填充图像输入时,它就像情况(1)一样正常工作。
如果($ _ SERVER ['REQUEST_METHOD'] ==“POST”)在数据输入(状态)为空/空时无法通过ajax请求回显输入,请说明原因。
千万分谢谢。 :)答案 0 :(得分:0)
我不确定为什么将文件输入保留为未填充是重要的,但是在使用AJAX时需要禁用正常的表单提交。 onclick
函数应返回false
来执行此操作。
<button type="button" name="submit" onClick="write_wall_post();return false;">