日期:2014-05-16  浏览次数:20561 次

jquery提交表单 php
想实现的功能如下:
HTML code

<form name="frm" method="post" enctype="multipart/form-data">
  <table>
    ......
     <input id="myfile" name="myfile" type="file"/>
    .......
 </table>
</form>


Js:
JScript code
function  aa(){

    document.forms[0].action='/Pfmg0420/upload';
    document.forms[0].target='_blank';
    document.forms[0].submit();
}


uploadAction:
PHP code
  .....
  $fileName = $_FILES["myfile"]["name"];
  .....



现在我想用不刷新页面,就能达到和function aa()的效果怎么实现。谢谢。
我这个是在zendframework下的开发。

我现在是这样写的:
  $.ajax({
  type: "POST",
  url: '/Pfmg0420/upload',
  data: {"filename":'aa'},
  dataType: "json",
  async:false,
  success: function(json) {
  }
  });
这个只能在后台获得filename的值为aa,不知道怎么把form提交到后台。
望赐教, 谢谢

------解决方案--------------------
ajax不能上传文件,你可以下载其他组件,jquery.form之类的,已经封装好提交文件的相关控制了

这类插件都是使用隐藏iframe或者flash来实现无刷新上传的,你要简单一些就直接提交表单到隐藏的iframe中来实现即可,不一定需要jquery

HTML code
<iframe name="ajaxifr" style="display:none"></iframe>
<form name="frm" method="post" enctype="multipart/form-data" target="ajaxifr">
  <table>
    ......
     <input id="myfile" name="myfile" type="file"/>
    .......
 </table>
</form>

------解决方案--------------------
楼上的方法好。