新建一个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. jmeter ---集合点使用方法:Synchronizing Timer

    LR中集合点可以设置多个虚拟用户等待到一个点,同时触发一个事务,以达到模拟真实环境下多个用户同时操作,实现性能测试的最终目的. jmeter中使用Synchronizing Timer实现Lr中集合点 ...

  2. NoSQL(二)

    redis介绍 1.aof存储的文件会越来越大,当文件很大时我们可以进行一次rdb存储原来的aof文件就可以删除了,因为aof就相当与mysql中的binlog文件会一致增长,当redis里面的key ...

  3. 代理模式和php实现

    代理模式(Proxy Pattern) : 给某一个对象提供一个代 理,并由代理对象控制对原对象的引用.代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式 模式动机: 在某些情 ...

  4. iOS开发多线程篇 04 —线程间的通信

    iOS开发多线程篇—线程间的通信 一.简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任 ...

  5. windows编译tensorflow c++库

    1. 准备 windows 10系统.3.6GHz cpu.16G 内存 visual studio 2017 or 2015 下载安装git 下载安装cmake 下载安装swigwin 如果不需要p ...

  6. Struts1小案例问题教训总结(含中文乱码问题及解决)

    1. 提交form后页面空白,没有任何显示,Debug发现form的validate()以及action的execute()根本没有被调用. 原因:validate()和execute()有2个互为o ...

  7. 【Unity】Unity中资源动态载入的两种方式之AssetsBundle

    首先要说的是,我们的project中有2个脚本.各自是: Build(编辑器类脚本.无需挂载到不论什么物体).可是必需要把Build脚本放到Editor目录中 Load脚本,挂载到摄像机上<pr ...

  8. Excel函数sumproduct应用案例-多条件求和

    作者:iamlaosong 越来越认为sumproduct这个函数实用,过去用sum组函数.改起来复制起来都麻烦,sumif在条件多的时候也认为不方便. 如今改用sumproduct函数,就简单多了. ...

  9. python3颜色输出

    遇到一个项目,需求是在python3中,处理结果显示高亮加颜色,然后资料整理如下 ### 格式: \033[显示方式;前景色;背景色m 这里的格式是规定了m后面的输出字符颜色样式 说明: 前景色 背景 ...

  10. 国内外知名IT科技博客(强烈推荐)

    国内 1.36氪(www.36kr.com): 目前国内做的最风生水起的科技博客,以介绍国内外互联网创业新闻为主的博客网站,自己建立有36Tree互联网创业融投资社区.36氪的名字源于元素周期 表的第 ...