新建一个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. 经典.net面试题目(转载)

    1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private :   私有成员, 在类的内部才可以访问. protected : 保 ...

  2. memcache基础知识-stats参数

    安装memcache: #tar -xvf libevent-1.4.13-stable.tar.gz#cd libevent-1.4.13-stable#./configure && ...

  3. hash slot(虚拟桶)

    在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小. round robin算法:是把数据mod后直接映射到真 ...

  4. 用Doxygen+Graphviz生成函数调用流程图(转)

    源文链接: http://wildpointer.net/2012/04/14/doxygen_graphviz/ 上面这张图是用Doxygen+Graphviz从netcat的源代码生成的函数调用关 ...

  5. tensorflow 之模型的保存与加载(二)

    上一遍博文提到 有些场景下,可能只需要保存或加载部分变量,并不是所有隐藏层的参数都需要重新训练. 在实例化tf.train.Saver对象时,可以提供一个列表或字典来指定需要保存或加载的变量. #!/ ...

  6. shader 笔记(一)

  7. Oracle之比较NVARCHAR2字符串

    一.引言 昨天遇到一个问题,一直想不通是为什么,我在pl/sql里面执行sql语句,选出字段值等于某个值的的行: '; 用select * from test;是可以查到该值的,但是用这条语句却没有结 ...

  8. linux之grub的使用

    一.引言 昨天在家里在自己的电脑上安装CentOS7,一切都顺利,结果安装好重启,无法进入win7了,在grub的配置文件也添加了win7的条目,却提示 unkown command chainloa ...

  9. MySQL 记录中包含换行符

    换行符: \r\n \r CHAR(10) 处理方法: REPLACE(str,from_str,to_str); 如:REPLACE('aaa\nbbb','\n','');

  10. linux学习笔记33--命令netstat和ss

    我们以前接触过了vmstat,iostat了,这次是netstat.route,traceroute,ping,netstat这些命令与计算机网络相关性很强,最好是能先了解下TCP/IP协议. net ...