新建一个js文件,自定义一个jquery 函数。 在jsp页面引用

下面为:自定义函数

$.fn.GetDivJson = function (prifix,orgModel) {
var $outerWrap = $("<div>");
$outerWrap.append(this.clone(false));
var $inputs = $outerWrap.find(":text[name^=" + prifix + "]");
var $hiddens = $outerWrap.find(":hidden[name^=" + prifix + "]");
var $pwds = $outerWrap.find(":password[name^=" + prifix + "]");
var $radios = $outerWrap.find(":radio[name^=" + prifix + "]");
var $checkBox = $outerWrap.find(":checkbox[name^=" + prifix + "]");
var $textArea = $outerWrap.find("textarea[name^=" + prifix + "]");
var $selects = $outerWrap.find("select[name^=" + prifix + "]");
var json = {};
$inputs.each(function (i, item) { if(item.value ==$(item).attr("placeholder")) return true; //用于IE下判断CJH json[item.name.replace(prifix, "")] = $.trim(item.value);
});
$hiddens.each(function (i, item) { //alert($.trim(item.value));
//alert("placeholder:"+$(item).attr("placeholder")); if($.trim(item.value)==$(item).attr("placeholder")) return true; //用于IE下判断 CJH json[item.name.replace(prifix, "")] = $.trim(item.value);
});
$pwds.each(function (i, item) {
json[item.name.replace(prifix, "")] = $.trim(item.value);
});
$textArea.each(function (i, item) {
json[item.name.replace(prifix, "")] = $.trim(item.value);
});
var radios = [];
$radios.each(function (i, item) {
var radioName = item.name.replace(prifix, "");
if (radios.toString().indexOf(radioName) == -1) {
radios.push(radioName);
json[radioName] = $radios.filter("[name=" + prifix + radioName + "]:checked").val() || "";
}
});
var checkbox = [];
$checkBox.each(function (i, item) {
var chkName = item.name.replace(prifix, "");
if (checkbox.toString().indexOf(chkName) == -1) {
checkbox.push(chkName);
var $nameChk = $checkBox.filter("[name=" + prifix + chkName + "]:checked");
if ($nameChk.length > 0) {
var vals = [];
$nameChk.each(function (j, subItem) {
vals.push(subItem.value);
})
json[chkName] = vals.join(",");
}
else
json[chkName] = "";
}
}); $selects.each(function (i, item) {
json[item.name.replace(prifix, "")] = $(item).find("option:selected").val();
});
orgModel && (json.oplog = $.compareModel(json,orgModel));
return json;
}

页面表单input等id 、name,  注意:以"Query_"开头

 <input type="hidden" id="Query_type" name="Query_type" />
<input type="hidden" id="Query_subID" name="Query_subID" />

在页面的jquery 代码中   如做jquery 异步提交

$("#searchBtn").click(function (e) {
var queryModel =$(".Query").GetDivJson("Query_");
$.post("../Goods/GoodsApply",queryModel,function(data){ });
});

在后台用对象或相应字段接受即可,避免了前端jsp页面   jquery重复获取表单值操作

jsp 通用获取所有表单值传后台的更多相关文章

  1. 3YAdmin-专注通用权限控制与表单的后台管理系统模板

    3YAdmin基于React+Antd构建.GitHub搜索React+Antd+Admin出来的结果没有上百也有几十个,为什么还要写这个东西呢? 一个后台管理系统的核心我认为应该是权限控制,表单以及 ...

  2. 总结:JSP几种提交表单方法

    问题描述: 最近进了一家“老公司”工作,说他老不是说他成立的早,是因为他的编程框架太l.......low了.EJB的规范模式,使用是IBM经过Eclipse二次开发出来的RAD(Rational A ...

  3. form表单与后台请求的关系

    开发中遇到一个问题,说这个问题前先看一下代码 后台方面, get请求: post请求: 前端方面: 问题是:当我点击提交表单后,页面会跳转成这样: 经过多番测试,原因竟是form表单的提交问题,如果用 ...

  4. JS获取form表单数据

    以下代码可放在一个js文件中,以便通用: //获取指定表单中指定标签对象 function getElements(formId, label) { var form = document.getEl ...

  5. Confluence 6 管理员联系表单的后台配置界面

    管理员联系表单的后台配置界面截图和配置. 对输入的数据进行编辑和选择是否启用发送电子邮件给管理员 https://www.cwiki.us/display/CONFLUENCEWIKI/Configu ...

  6. 用基于类的通用视图处理表单(Class-based generic views)

    处理表单通常包含3步: 初始化GET(空白的后者预填充的表单) POST非法数据(通常重新显示带有错误信息的表单) POST合法数据(提交数据并重定向) 为了将你从这些烦人的重复步骤中解救出来,Dja ...

  7. serialize可以获取form表单里面的数值

    serialize属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  8. 在IOS设备上POST提交form表单,后台接收不到值怎么办?

    原文:https://blog.csdn.net/xhaimail/article/details/90440029 最近在工作上遇到一个奇葩问题,在Android和Windows平台上做请求时参数都 ...

  9. java:JavaScript2:(setTimeout定时器,history.go()前进/后退,navigator.userAgent判断浏览器,location.href,五种方法获取标签属性,setAttribute,innerHTML,三种方法获取form表单信息,JS表单验证,DOM对象,form表单操作)

    1.open,setTimeout,setInterval,clearInterval,clearTimeout <!DOCTYPE> <html> <head> ...

随机推荐

  1. 纯CSS弹出层,城市切换效果

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  2. python-求直角三角形斜边

    设计一个求直角三角形斜边长的函数(两条直角边为参数,求最长边) 如果直角边边长分分别为3和4,那么返回的结果应该像这样: The right triangle third side's length ...

  3. kali2.0下配置Metasploit+postgresql链接

    工具/原料   kali2.0 方法/步骤     1.postgresql是本身没有启动的.所以需要启动. service postgresql start   2.通过命令进入配置 sudo -u ...

  4. IDirect3DDevice9::SetTexture的stage参数

    HRESULT IDirect3DDevice9::SetTexture(DWORD Stage, IDirect3DBaseTexture9 *pTexture) 其中Stage并不是“阶段”的意思 ...

  5. Atitit.常用分区api的attilax总结

    Atitit.常用分区api的attilax总结 1. Api 来源与oracle与mysql1 1.1. 分区定义partition by range (uid)  使用VALUES LESS TH ...

  6. atitit.系统架构图 的设计 与工具 attilax总结

    atitit.系统架构图 的设计 与工具 attilax总结 1. 架构图的4个版式(标准,(左右)悬挂1 2. 架构图的层次结构(下属,同事,助手)1 3. wps ppt1 4. 使用EDraw画 ...

  7. JS高程3:BOM-window对象

    全局作用域 BOM的核心就是window对象,他是浏览器的一个实例. 它既是JS访问浏览器窗口的接口,又是ECMAScript中的global对象. 在全局作用域中,global对象,this对象,w ...

  8. Fatal error compiling: 无效的标记: -parameters

    [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ ...

  9. 亚信UED前端流程自动化构建工具

    亚信UED前端流程自动化构建工具 .wmd-input, .wmd-input:focus, #md-section-helper {font-size: 14px !important;line-h ...

  10. Jquery学习笔记(3)--注册验证

    嗯哼,验证用户名,密码,重复密码,手机号,邮箱.提交时全部进行验证,通过才跳转. <!DOCTYPE html> <html lang="en"> < ...