新建一个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. android 屏幕适配原则

    屏幕大小 1.不同的layout Android手 机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的 ...

  2. etymology-F

    forsake [fə'seɪk] vt.放弃:断念. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400 ...

  3. delete与delete [] 真正差别

    我们通常从教科书上看到这种说明: delete 释放new分配的单个对象指针指向的内存 delete[] 释放new分配的对象数组指针指向的内存 那么,依照教科书的理解,我们看下以下的代码: int ...

  4. python3操作mysql教程

    一.下载\安装\配置 1. python3 Python3下载网址:http://www.python.org/getit/ 当前最新版本是python3.2,下载地址是 http://www.pyt ...

  5. Java并发编程(八):线程调度——线程池

    new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { / ...

  6. 点滴积累【other】---存储过程删除所有表中的数据(sql)

    USE [QG_Mis24] GO /****** Object: StoredProcedure [dbo].[p_set1] Script Date: 07/18/2013 13:25:57 ** ...

  7. Vivado设计二:zynq的PS访问PL中的自带IP核(基于zybo)

    1.建立工程 首先和Vivado设计一中一样,先建立工程(这部分就忽略了) 2.create block design 同样,Add IP 同样,也添加配置文件,这些都和设计一是一样的,没什么区别. ...

  8. NSArray、NSMutableArray和NSMutableDictionary的用法

    转自:http://www.cnblogs.com/wangpei/admin/EditPosts.aspx?opt=1 NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域 ...

  9. erlang supervisor simple_one_for_one实例

    simple_one_for_one vs one_for_one: 相同点: 这种Restart Strategy和one_for_one基本相同(即当一个child process挂掉后,仅仅重启 ...

  10. poj 2846 Repository

    题目大意:给你n个字符串,然后给你m个子串,看这个子串在上面的多少个串中,出现过: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2846 本题可以在字 ...