上载具有图像文件的表单而不刷新页面

时间:2013-08-16 07:42:42

标签: php jquery forms upload

我想将一个表单发布到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”。

2 个答案:

答案 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);
  } 
};