JQuery AJAX相当于表单的提交文件

时间:2012-02-25 20:15:49

标签: php jquery html ajax jquery-mobile

我有一个表格,像这样

<form id="picuploadform" enctype="multipart/form-data" method="post" action="">

    <div class="row">
      <label for="fileToUpload">Select a File to Upload</label><br />
      <input type="file" name="fileToUpload" id="fileToUpload" /> 
     <input type="hidden" id = "picssn" name="picssn" value="qweweqwq">
    </div>

    <div class="row" style="width:150px;">
   <input type="submit"  value="Upload" />
    </div>

  </form>

当我单击提交按钮时,我在此页面上有PHP来处理它就好了。用于接收文件的$ _FILES和用于读取隐藏输入附带的picssn的$ _POST。但由于Jquery mobile的问题,我现在无法使用submit或.submit()。所以我想用

$.post('myphpfile.php', {picssn:$('#picssn').value(), file: $('#fileToUpload').xxxxxxxxxxxxxxxxx  }); 

代替。但是我不知道如何从该表单中获取文件并以这种方式发送它。是否有一些方法可以取代xxxxxxxxxxxxxx?谢谢!

2 个答案:

答案 0 :(得分:0)

您无法通过ajax直接上传。或许检查一下: http://blueimp.github.com/jQuery-File-Upload/或uploadify.com

答案 1 :(得分:0)

在表单元素上,您需要禁用ajax提交,然后修复其他代码。 试试这个:

<form id="picuploadform" enctype="multipart/form-data" method="post" action="#" data-ajax="false">

    <div class="row">
      <label for="fileToUpload">Select a File to Upload</label><br />
      <input type="file" name="fileToUpload" id="fileToUpload" /> 
     <input type="hidden" id = "picssn" name="picssn" value="qweweqwq">
    </div>

    <div class="row" style="width:150px;">
   <input type="submit"  value="Upload" />
    </div>

  </form>