zoukankan      html  css  js  c++  java
  • Js唯一性效验

    需求:使用ajax来添加表单数据,例如输入一个商品的货号,需要将商品的详情添加到表单中,但是不允许重复添加:

    第一种解决思路:在ajax请求后,在PHP文件中定义一个全局变量

    global $arr;

    <?php
    if ($_REQUEST['act'] == 'add')
    {
       $goods_sn = $_REQUEST['goods_sn'];
       global $arr;
       $arr = array();
    
    if (in_array($goods_sn,$arr))
    {
        $msg = '请不要添加重复商品!';
       make_json_error($msg);l 
    }
         
    
    }
    ?>

    这样处理之后,有个问题,就是每次请求都清空了,导致没有效验,如果将全局变量定义到php文件开始的地方,第一次请求php的时候,会出现$arr不是数组的警告,而且是动态表单删除的时候,没法去掉数组里面的商品。

    二、方法一行不通后,我仔细分析了需求,既然是js发起的请求,为什么不在发起之前做出判断呢,于是我想到了使用Js的全局变量.

     1 var arr = new Array();
     2 $goods_sn   = document.getElementById('goods_sn').value;
     3 
     4     for (var i=0;i<arr.length;i++)
     5     {
     6         if(arr[i] == $goods_sn)
     7         {
     8             alert('请不要重复添加商品!');
     9             return false;
    10         }
    11     }
    12     
    13     arr.push($goods_sn);
    14 
    15 //如果要删除数组的最后一位
    16  arr.pop();
  • 相关阅读:
    C#dll中无法找到c++dll中函数的入口
    C#委托及事件处理机制浅析
    lib和dll的例子
    C#中自定义消息,与MFc对比
    MFC消息响应机制 q
    MFC中消息响应机制
    C# 消息处理机制及自定义过滤方式
    c++中__declspec用法总结
    C++中使用接口
    C# 位域[flags] 转
  • 原文地址:https://www.cnblogs.com/kafeijiu/p/3064955.html
Copyright © 2011-2022 走看看