/** * */ (function($) { /** * 提交数据 * send API 调用说明: * 1、$("#formId").send(String action); * 提交表单到action方法,缺省对表单进行校验,缺省不处理action返回结果 * 2、$("#formId").send(String action,Boolean isValidate); * 提交表单到action方法名,根据isValidate决定是否校验表单,缺省不处理action返回结果 * 3、$("#formId").send(String action,Function callback); * 提交表单到action方法名,根据callback处理action返回结果,缺省校验表单 * 4、$("#formId").send(String action,Boolean isValidate,Function callback); * 提交表单到action方法名,根据isValidate决定是否校验表单,根据callback处理action返回结果 */ $.fn.send = function(action, arg1, arg2) { // 缺省空回调函数 var callback = function() { }; var isValidate = true; // 缺省进行校验 for ( var i = 1; i < arguments.length; i++) { if (typeof arguments[i] == "boolean") { isValidate = arguments[i]; } else { callback = arguments[i]; } } if (isValidate) { if (!this.check()) { return; } } var data = this.values(); Newtouch.Ajax.sendParams(data, action, function(result) { if (result && result["_value"] != undefined) { callback(result["_value"]); } else { callback(result); } }, function(error){ callback(false,error); }); }; /** * 获取表单值 */ $.fn.values = function() { var formParams = {}; var params = $(this).formToArray(); for ( var i = 0; i < params.length; i++) { if(formParams[params[i].name]){ formParams[params[i].name] += ","+params[i].value; }else{ formParams[params[i].name] = params[i].value; } } return formParams; }; /** * 清理表单 */ $.fn.clear = function() { this.clearForm(); //去除form中的校验信息 $("input,select,textarea",$(this)).removeClass("error"); $("label",$(this)).remove(".error"); }; /** * 重置表单 */ $.fn.reset = function() { this.resetForm(); //去除form中的校验信息 $("input,select,textarea",$(this)).removeClass("error"); $("label",$(this)).remove(".error"); }; /** * 校验表单 */ $.fn.check = function() { return $(this).validate().form(); }; /** * 提交数据 * send API 调用说明: * 1、$("#formId").send2str(String action); * 提交表单到action方法,缺省对表单进行校验,缺省不处理action返回结果 * 2、$("#formId").send2str(String action,Boolean isValidate); * 提交表单到action方法名,根据isValidate决定是否校验表单,缺省不处理action返回结果 * 3、$("#formId").send2str(String action,Function callback); * 提交表单到action方法名,根据callback处理action返回结果,缺省校验表单 * 4、$("#formId").send2str(String action,Boolean isValidate,Function callback); * 提交表单到action方法名,根据isValidate决定是否校验表单,根据callback处理action返回结果 */ $.fn.send2str= function(action, arg1, arg2) { // 缺省空回调函数 var callback = function() { }; var isValidate = true; // 缺省进行校验 for ( var i = 1; i < arguments.length; i++) { if (typeof arguments[i] == "boolean") { isValidate = arguments[i]; } else { callback = arguments[i]; } } if (isValidate) { if (!this.check()) { return; } } var dataString={datastr:""}; var formParams = $(this).formToArray(); for ( var i = 0; i < formParams.length; i++) { if(formParams[i].name && formParams[i].value!=""){ dataString.datastr += formParams[i].name + "=" + formParams[i].value + ","; } } Newtouch.Ajax.sendParams(dataString, action, function(result) { if (result && result["_value"] != undefined) { callback(result["_value"]); } else { callback(result); } }, function(error){ callback(false,error); }); }; })(jQuery);