>웹 프론트엔드 >JS 튜토리얼 >Jquery는 양식 데이터가 변경되었는지 확인합니다_jquery

Jquery는 양식 데이터가 변경되었는지 확인합니다_jquery

WBOY
WBOY원래의
2016-05-16 15:07:272290검색

이 문서의 예에서는 참조용으로 양식 데이터가 변경되었는지 여부를 확인하는 Jquery의 세 가지 주요 단계를 공유합니다.

1. 아이디어는 수정 시 데이터 그리드의 행을 클릭하고, 양식 제출 시 일련 번호 양식을 수행하고, 선택한 데이터 그리드의 행 데이터를 다시 가져옵니다. , 데이터 비교를 수행합니다. 09dc73228c5b3c4978f8702acc34eaf6

/** 
 * 判断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. 변경된 값 전후의 변경 정보를 얻어야 하며, 해당 열의 중국어, 영어 정보를 다음과 같이 저장해야 합니다.


/** 
   * 获取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은 각각 다음과 같은 형식의 name 속성 이름에 해당합니다.


var policyColumn = { 
     
    ratio : '比例', 
    quotaTypeName : '比例形式' 
     
}; 
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.