Jquery判断form表单数据是否变化_jquery

本文实例为大家分享了Jquery判断form表单数据是否变化的三大步骤,供大家参考,具体内容如下

1、思路为:修改时点击一行datagrid,并进行页面跳转数据绑定,在提交form时,序列号form表单,并重新获取datagrid选中的行数据,进行数据比较。</span> 

/**
 * 判断form内属性值是否被修改
 *
 * @param jsonForm 对应修改的form序列化后的json数据
 * @param row 对应datagrid选中的数据源
 *
 * @Return true 存在修改项
 *     false 不存在修改项
 */
isModified:function(jsonForm,row){
  for(key in jsonForm){
    //form中存在,但数据源datagrid中不存在
    if(row[key] == undefined){
      continue;
    }
    //form中""或null,但数据源datagrid中为null或""时,不进行比较
    if(!((jsonForm[key] == null || jsonForm[key] == '') && (row[key] == null || row[key] == ''))){
      //如果值不同,则返回true
      if(jsonForm[key] != row[key])
        return true;
    }
  }
  return false;
} 

2、获取变化的值前后变化信息,由于项目需要记录值变更记录,并保存column中英文信息,如下:

/**
   * 获取form被修改信息
   *
   * @param jsonForm 对应修改的form序列化后的json数据
   * @param row 对应datagrid选中的数据源
   * @param columnJSModel 为表单form中name属性中英对照js,需在update.jsp中引用此js文件
   *
   * @Return json 数据如:[{"updateColumn":"loanRatio","updateColName":"额比例","updateContent":"由11变更为100.00"},
   *     {"updateColumn":"loanQuotaTypeName","updateColName":"比例形式","updateContent":"由 卡 变更为 实物"}]
   *
   */
  getModifiedField:function(jsonForm,row,columnJSModel){
    var modifiedArry = [];
    var jsonArrStr = '';
    for(key in jsonForm){
      //form中存在,但数据源datagrid中不存在
      if(row[key] == undefined){
        continue;
      }
      //form中""或null,但数据源datagrid中为null或""时,不进行比较
      if(!((jsonForm[key] == null || jsonForm[key] == '') && (row[key] == null || row[key] == ''))){
        //如果值不同,则返回true
        if(jsonForm[key] != row[key]){
          var jsonObj = {}; 

          jsonObj.updateColumn = key;
          jsonObj.updateColName = columnJSModel[key];
          jsonObj.updateContent = '由'+ row[key] + '变更为' + jsonForm[key]; 

          modifiedArry[modifiedArry.length] = jsonObj;
        }
      }
    }
    jsonArrStr = JSON.stringify(modifiedArry);
    //console.log(jsonArrStr);
    return jsonArrStr;
  } 

3、其中的columnJSModel为中英对照JS实体,ratio、qutaTypeName分别对应form中的name属性名,如下:

var policyColumn = { 

    ratio : '比例',
    quotaTypeName : '比例形式' 

}; 

以上就是本文的全部内容,希望对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery判断form表单、jquery提交form表单、jquery form表单验证、jquery给form表单赋值、jquery重置form表单,以便于您获取更多的相关知识。

时间: 2024-08-31 07:15:55

Jquery判断form表单数据是否变化_jquery的相关文章

快速学习jQuery插件 Form表单插件使用方法_jquery

jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Form有两个核心方法 -- ajaxForm() 和 ajaxSubmit(), 它们集合了从控制表单元素到决定如何管理提交进程的功能.另外,插件还包括其他的一些方法: formToArray().formSerialize().fieldSerialize().fieldValue().clearForm().clearFields() 和 resetForm()等.

jquery提交form表单简单示例分享_jquery

复制代码 代码如下: $.ajax({ url : 'deliveryWarrant/update.do', data : $('#myform').serialize(), type : "POST", success : function(data) { var res = eval('(' + data + ')'); if (res && res.success == true) {  alert(res.message); location.href=&quo

PHP判断FORM表单或URL参数来的数据是否为整数的方法_php技巧

PHP判断FORM表单或URL参数来的数据是否为整数,is_int函数对于FORM表单或URL参数过来的数据是没有办法判断是否是整数的,因为FORM过来的是字符串. 用is_numeric可以判断是否为数字类型,再判断是否有小数点就可以判断是不是整数了 if(!is_numeric($page)||strpos($page,".")!==false){ echo "不是整数"; }else{ echo "是整数"; } 有时候我们需要判断id是否

jQuery对的表单数据序列化和校验

jQuery对的表单数据序列化和校验 表单序列化 如果想让表单通过ajax异步提交,那么首先我们要通过js获取到每个表单中输入的值,如果表单项比较多的话,是一件很麻烦,很痛苦的事情,那么我们可以通过jquery的表单序列化的操作将表单的数据拼接成提交的参数格式 即:name=value&name=value&name=value 或者 json格式对象 例如:表单如下: 使用serialize方法 js代码: 打印结果: 表单校验插件 网络上有许多成熟的插件共使用者参考,插件就是将jque

有关servlet获取form表单数据的异步刷新问题

问题描述 有关servlet获取form表单数据的异步刷新问题 servlet如何实现从form表单获取数据条件是异步提交的方式,有大神发个简单的小例子小弟感激不禁!!谢谢了 解决方案 可以用ajax异步请求,jquery插件提供了ajax的实现.异步提交可以通过js来提交,而不是表单按钮提交,提交路径就是某个Servlet.参考:http://blog.csdn.net/bravezhe/article/details/8249889

jquery提交form表单时禁止重复提交的方法

 这篇文章主要介绍了jquery提交form表单时禁止重复提交的方法,需要的朋友可以参考下    代码如下: $(document).ready(function() {   $('form').submit(function() {     if(typeof jQuery.data(this, "disabledOnSubmit") == 'undefined') {       jQuery.data(this, "disabledOnSubmit", { s

jquery序列化form表单使用ajax提交后处理返回的json数据

 这篇文章主要介绍了jquery序列化form表单,使用ajax提交后处理返回的json数据的示例,需要的朋友可以参考下 1.返回json字符串:    代码如下: /** 将一个字符串输出到浏览器 */     protected void writeJson(String json) {         PrintWriter pw = null;         try {             servletResponse.setContentType("text/plain;cha

jquery提交form表单简单示例分享

 这篇文章主要介绍了jquery提交form表单示例,需要的朋友可以参考下   代码如下: $.ajax({ url : 'deliveryWarrant/update.do', data : $('#myform').serialize(), type : "POST", success : function(data) { var res = eval('(' + data + ')'); if (res && res.success == true) {  ale

jQuery实现form表单元素序列化为json对象的方法_jquery

本文实例讲述了jQuery实现form表单元素序列化为json对象的方法.分享给大家供大家参考,具体如下: 这段代码序列化form表单元素为json对象: <!Doctype html> <html xmlns=http://www.w3.org/1999/xhtml> <head> <title>jQuery扩展--form序列化到json对象</title> <meta http-equiv=Content-Type content=&