我想将一个表单发布到php脚本,该脚本处理表单并将数据添加到数据库中,然后将刚上传的表单发送回jquery的事件处理程序。表单中包含一个图像文件。 我的问题是我没有得到从PHP脚本到事件处理程序的响应。
$('#Form').on('submit',function(e){
e.preventDefault();
$("#output").html('loading...');
$("#Form").ajaxForm({
target: '#output'
};
});
<form action="post.php" method="post" enctype="multipart/form-data" id="Form">
<textarea class="post" name="text" style="height:10; font-size:16px;"> </textarea>
<input type="file" name="pic" class="post_image"/>
<input type="submit" name="subp" id="postButton" value="post" class="post_button" />
</form>
<div id="output"></div>
//post.php
<?php
echo "hi";
?>
问题是#output div总是显示“loading ...”而不是它应该显示由PHP脚本返回的“hi”。
答案 0 :(得分:2)
您必须使用iframe来实现此类功能
<form enctype="multipart/form-data" method="post" action="post.php" target="imageUploaderFrame">
<label>Upload Image: </label><input type="file" name="profile_image" id="uploadProfileImage"/>
</form>
<iframe id="imageUploaderFrame" name="imageUploaderFrame" style="display:none"></iframe>
答案 1 :(得分:0)
**you should fadeout div output when success your ajaxFrom**
$("#Form").ajaxForm(
{
target: '#output',
success: function()
{
$("#output").fadeOut(2000);
}
};