zoukankan      html  css  js  c++  java
  • 前台JS端排除重复录入数据方法(取值对比)

    今天在调试的时候发现有个重复数据问题,如下,可以重复输入,

    又不想去后台跑webservice,直接在JS端取得所有的表格对应字段内容,利用for循环,然后每行对比,发现有重复数据后,

    直接把originaValue返回给它,不修改,后return出来,这样就可以避免重复输入。

     1 listeners: {
     2                 afteredit: function (e) {
     3 
     4             if (e.field == 'ApplyStaffno') {
     5                         var record = this.getStore().getRange();
     6                         var i = 0;
     7                         for (i = 0; i < record.length; i++) {
     8                             if (e.row != i) {  //修改的当前行不进行比对
     9                                 if (record[i].get('ApplyStaffno') == e.value) {
    10                                     record[e.row].set('ApplyStaffno', e.originalValue);
    11                                     this.getStore().commitChanges();
    12                                     return;
    13                                 } else {
    14 
    15                                 }
    16                             }
    17                         }
    18                         Ext.Msg.wait('Waiting', 'Waiting');
    19                         TAAjax.request({
    20                             url: 'csr/basefun.ashx',
    21                             params: { action: 'getNameAndSection', StaffNo: e.value },
    22                             success: function (req, ops) {
    23                                 Ext.Msg.hide();
    24                                 var data = Ext.decode(req.responseText);
    25                                 if (Ext.isEmpty(data.name) || Ext.isEmpty(data.section)) {
    26                                     e.record.set('HoursOfTheYear', '');
    27                                     e.record.set('ApplyStaffname', '');
    28                                     e.record.set('ApplystaffDept', '');
    29                                     return;
    30                                 }
    31                                 else {
    32                                     var arrSection = this.mainPanel.getSection();
    33                                     var bln = this.mainPanel.isChargehand();
    34                                     var staffno = this.mainPanel.getChargeman();
    35                                     var rlt = arrSection.indexOf(data.section);
    36                                     if (rlt != -1) {
    37                                         e.record.set('ApplyStaffname', data.name);
    38                                         e.record.set('ApplystaffDept', data.section);
    39                                     } else {
    40                                         if (bln && e.value == staffno) {
    41                                             e.record.set('ApplyStaffname', data.name);
    42                                             e.record.set('ApplystaffDept', data.section);
    43                                         } else {
    44                                             Ext.Msg.alert('提示', GetErrDescr('?CSRE011'));
    45                                             e.record.set('ApplyStaffno', '');
    46                                             return;
    47                                         }
    48                                     }
    49                                 }
    50                                 Ext.Msg.wait('Waiting', 'Waiting');
    51                                 TAAjax.request({
    52                                     url: 'csr/csr005.ashx',
    53                                     params: { action: 'getTheYearJoinCount', StaffNo: e.value },
    54                                     success: function (req, ops) {
    55                                         Ext.Msg.hide();
    56                                         var data = req.responseText;
    57                                         e.record.set('HoursOfTheYear', data);
    58                                         this.resetFM(e.record);
    59                                     },
    60                                     failure: function () {
    61                                         Ext.Msg.hide();
    62                                     },
    63                                     scope: this
    64                                 });
    65                             },
    66                             failure: function () {
    67                                 Ext.Msg.hide();
    68                             },
    69                             scope: this
    70                         });
    71                     },
    72                 scope: this
    73             }
  • 相关阅读:
    关于bind named.conf.options
    MASM 16位汇编程序几种典型的格式
    About GCC
    WebForms UnobtrusiveValidationMode 需要“jQuery”ScriptResourceMapping。
    Linux系统下的shutdown命令用于安全的关闭/重启计算机
    TreeView.ImageSet 属性
    python seaborn
    python neo4j
    Impala与Hive的比较
    pandas.resample()
  • 原文地址:https://www.cnblogs.com/iDennis/p/5328952.html
Copyright © 2011-2022 走看看