jquery.form.js插件中ajaxSubmit提交在jquery1.4版本中的应用

作者:xyzroundo

 

下以处理的是对含有 元素的表单,利用jquery.form 的ajaxSubmit方法进行类似ajax提交的应用情况:

注:发果用jquery1.3.2版本与jquery.form.js使用的话,没什么问题照官方文档说明就OK的;但如果用jquery1.4.x的话,就存在诸多奇怪的问题,解决的很久才取出以下解决方案!

 

兼容firefox,chrome,IE7/8的最终代码:

 

客户端:

 

引用文件:

 

js代码:

 

html表单:

 

 

  action="bid/bidding/biddingAction_saveBaseInfo.action" 

  id="baseInfoForm" class="formular" οnsubmit="javascript:submitForm(this);return false;">

 

.......

.......

 

 

注:为了在IE下能能成功地执行 success 定义的回调函数,以下一点很重要:定义form的 target="baseInfo_iframe" 和一个隐藏的iframe。没有这个的话,在IE下不会调用回调函数的!

 

Server端:

struts2 action代码:

public String  xxx() throws Exception{

...

 

getResponse().setCharacterEncoding("UTF-8");

/*回应报头的类型很重要,试验结果是:

  * 客户端设xml时,server回应报头应该是 application/xml  (如果是text/html,chrome和FF可以,IE不行);

  * 客户端设script时,server回应报头应该是 text/html 

  */

getResponse().setHeader("Content-Type", "text/html"); 

//String str="{msg:'"+getText("opt.suc")+"'}";    //客户端声明为json

String str=""+getText("opt.suc")+""; //客户端声明为xml

//String str="showMsg(/"ui-icon-circle-check/",/""+getText("opt.suc")+"/");"; //客户端声明为script

System.out.println("<<:"+str);

getResponse().getWriter().print(str);

return null;

}

 

 


 

你可能感兴趣的:(jquery,ajax)