jsp 通用获取所有表单值传后台
新建一个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 通用获取所有表单值传后台的更多相关文章
- 3YAdmin-专注通用权限控制与表单的后台管理系统模板
3YAdmin基于React+Antd构建.GitHub搜索React+Antd+Admin出来的结果没有上百也有几十个,为什么还要写这个东西呢? 一个后台管理系统的核心我认为应该是权限控制,表单以及 ...
- 总结:JSP几种提交表单方法
问题描述: 最近进了一家“老公司”工作,说他老不是说他成立的早,是因为他的编程框架太l.......low了.EJB的规范模式,使用是IBM经过Eclipse二次开发出来的RAD(Rational A ...
- form表单与后台请求的关系
开发中遇到一个问题,说这个问题前先看一下代码 后台方面, get请求: post请求: 前端方面: 问题是:当我点击提交表单后,页面会跳转成这样: 经过多番测试,原因竟是form表单的提交问题,如果用 ...
- JS获取form表单数据
以下代码可放在一个js文件中,以便通用: //获取指定表单中指定标签对象 function getElements(formId, label) { var form = document.getEl ...
- Confluence 6 管理员联系表单的后台配置界面
管理员联系表单的后台配置界面截图和配置. 对输入的数据进行编辑和选择是否启用发送电子邮件给管理员 https://www.cwiki.us/display/CONFLUENCEWIKI/Configu ...
- 用基于类的通用视图处理表单(Class-based generic views)
处理表单通常包含3步: 初始化GET(空白的后者预填充的表单) POST非法数据(通常重新显示带有错误信息的表单) POST合法数据(提交数据并重定向) 为了将你从这些烦人的重复步骤中解救出来,Dja ...
- serialize可以获取form表单里面的数值
serialize属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- 在IOS设备上POST提交form表单,后台接收不到值怎么办?
原文:https://blog.csdn.net/xhaimail/article/details/90440029 最近在工作上遇到一个奇葩问题,在Android和Windows平台上做请求时参数都 ...
- java:JavaScript2:(setTimeout定时器,history.go()前进/后退,navigator.userAgent判断浏览器,location.href,五种方法获取标签属性,setAttribute,innerHTML,三种方法获取form表单信息,JS表单验证,DOM对象,form表单操作)
1.open,setTimeout,setInterval,clearInterval,clearTimeout <!DOCTYPE> <html> <head> ...
随机推荐
- APP消息推送功能
1.APP内部最好设计-我的消息-的功能,以便用户查看推送消息历史记录,通过角标.已读.未读等设计吸引用户读取消息.(画下来这都是重点) 2.建议提供推送设置功能,允许用户设置推送消息是否显示于通知栏 ...
- vim跳出括号的方法
https://github.com/Raimondi/delimitMate delimitMate是一个自动括号补全的好插件,但是,如果没有一个好的跳出括号办法,好想由打了折扣. 我目前找到最适合 ...
- FPGA大公司面试笔试数电部分,看看你会多少
1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系.异步逻辑是各时钟之间没有固定的因果关系. 答案应该与上面问题一致 [补充]:同步时序逻辑电路的特点:各触发器的时钟端全部连接 ...
- [svc][op]杀进程
杀进程: 杀服务名 /usr/bin/killall -HUP syslogd 杀掉进程号 /bin/kill -USR1 $(cat /var/run/nginx.pid 2>/dev/nul ...
- [svc]caffe安装笔记-显卡购买
caffe,这是是数据组需要做一些大数据模型的训练(深度学习), 要求 服务器+显卡(运算卡), 刚开始老板让买的牌子是泰坦的(这是2年前的事情了). 后来买不到这个牌子的,(jd,tb)看过丽台的, ...
- hdu 1022 Train Problem
Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- Unity5.1 新的网络引擎UNET(四) UNET Remote Actions
孙广东 2015.7.12 网络系统 具有网络中执行操作actions 的方法.这些类型的actions 有时是调用远程过程调用(Remote Procedure Calls). 在网络系统中有两 ...
- npm太慢, 淘宝npm镜像使用方法[转]
淘宝 npm 地址: http://npm.taobao.org/ 如何使用 有很多方法来配置npm的registry地址,下面根据不同情境列出几种比较常用的方法.以淘宝npm镜像举例: 1.临时使用 ...
- Django1.6 +wsgi 部署到Apache2 的步骤。
网上很多教程都是关于1.6之前的版本,很多都不适用,经历告诉我们最靠谱的还是官方文档. 一个Demo例子: 以 python shell开发的方式部署没有问题,但当独立部署到Apache2的过程非常艰 ...
- linux2.4中netfilter_nat_alg机制分析--以FTP流程为例,分析NAT和ALG
以FTP流程为例,分析NAT和ALG 网络环境: ×5+6=1286) 创建×5+6=1286),更新skb的应用层信息(这里应用层信息还是×5+6=1286) 创建×5+6=1286) 创建×5+6 ...