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();
  • 相关阅读:
    Kafka架构概述
    Logstash使用进阶篇
    Logstash使用快速入门
    Ubuntu环境部署Logstash实战案例
    Nginx代理Kibana并实现登录认证实战案例
    Ubuntu环境部署Kibana实战案例
    Idea打包JAR包图解
    Wormhole部署实战案例
    编译Wormhole实战篇
    Wormhole的核心概念
  • 原文地址:https://www.cnblogs.com/kafeijiu/p/3064955.html
Copyright © 2011-2022 走看看