/*
* 2011-09-02 version: 2.0 by:Severus
* 将Strax改写为jQuery的插件。简化代码及使用方法,增强浏览器兼容性。
* 调用方法:
* jQuery("#FormID").Strax(successFunction,errorFunction);
* 其中:
* 1、FormID是待提交的表单id。Strax方法将把from提交到其action属性指定的url。
* 2、successFunction是提交动作成功后的处理函数。有两个参数:服务器返回的数据data;描述状态的字符串textStatus
* 3、errorFunction是提交动作失败后的处理函数。有三个参数:XMLHttpRequest对象request、错误信息textStatus、
* (可选)捕获的错误对象errorThrown
*
* 依赖于JQuery
* Strax方法的优点:
* 1、不用手动拼ajax方法的提交参数字符串,改为以form表单为单位,自动将form下的提交信息(文本输入框、密码输入框、
* 隐藏文本框、单选按钮、多选按钮、单选下拉菜单、多选下拉菜单等)组装成参数字符串。这也是我写Strax方法的初衷。
* 2、恰当的运用还可以免去将ajax返回数据写回页面的步骤。至于什么是恰当的运用,用着用着就知道了。
* 3、存在向json或其它数据返回格式扩展的可能。下一版来试试吧。
*
* Strax方法的缺点:
* 1、一次提交所需的数据要放在一个form中,可能会对页面排版、布局带来不必要的困扰。
* 2、返回数据写回对struts2.0框架存在依赖,而struts2.0在这一点的性能上似乎不尽如意。
*
* 有意见或建议,请联系作者:winters1224@163.com
*/
(function ($) {
$.fn.Strax = function (suc, err) {
var formid = this.attr("id");
var param = "";
$("#" + formid + " :text").each(function () {
param += $(this).attr("name") + "=" + $(this).val() + "&";
});
$("#" + formid + " :password").each(function () {
param += $(this).attr("name") + "=" + $(this).val() + "&";
});
$("#" + formid + " input[type=hidden]").each(function () {
param += $(this).attr("name") + "=" + $(this).val() + "&";
});
$("#" + formid + " :radio[checked=true]").each(function () {
param += $(this).attr("name") + "=" + $(this).val() + "&";
});
$("#" + formid + " :checkbox[checked=true]").each(function () {
param += $(this).attr("name") + "=" + $(this).val() + "&";
});
$("#" + formid + " select").each(function () {
param += $(this).attr("name") + "=" + $(this).val() + "&";
});
$.ajax({url:this.attr("action"), data:param, success:suc, error:err, type:"POST"});
};
})(jQuery);
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。