0%

JS总结

生成4位随机数

  • 生成4位随机数

    http://op05inpyd.bkt.clouddn.com/%E9%9A%8F%E6%9C%BA%E6%95%B0.txt

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
          <title>随机数</title>
          <style type="text/css">
              .textbox
              {
                  margin-right: 5px;
                  margin-top: 10px;
                  width: 70px;
                  font-family: 微软雅黑;
                  text-align: center;
                  font-weight: bold;
                  font-size: 16px;
                  color: Blue;
              }
          </style>
          <script type="text/javascript">
              //增加文本框
              function CreateTextBox() {
                  var count = GetTextBoxCount();
                  if (count < 10) {
                      var textBox = document.createElement("input");
                      textBox.setAttribute("type", "text");
                      textBox.setAttribute("name", "myname");
                      textBox.className = "textbox";
                      document.body.appendChild(textBox);
                  } else {
                      alert("最多生成10个随机数");
                  }
              }
              //减少文本框
              function RemoveTextBox() {
                  var count = GetTextBoxCount();
                  if (count > 1) {
                      document.body.removeChild(document.body.lastChild);
                  }
                  else {
                      alert("请最少保留1个");
                  }
              }
              //计算文本框的个数
              function GetTextBoxCount() {
                  var elements = document.getElementsByName("myname");
                  return elements.length;
              }
              Array.prototype.Contains = function (num) {
                  var flag = false;
                  if (this.length <= 0) {
                      return flag;
                  }
                  for (var i = 0; i < this.length; i++) {
                      if (this[i] == num) {
                          flag = true;
                          break;
                      }
                  }
                  return flag;
              }
              //生成4位随机数并放到数组中
              function CreateRandomNumber(array, count) {
                  while (array.length < count) {
                      var num = Math.floor((Math.random()) * 9000+1000);
                      if (!array.Contains(num)) {
                          array.push(num);
                      }
                  }
              }
              //将数组中的随机数赋值到界面的文本框中
              function SetTextBoxValue() {
                  var array = new Array();
                  var count = GetTextBoxCount();
                  CreateRandomNumber(array, count);
                  var elements = document.getElementsByName("myname");
                  for (var i = 0; i < elements.length; i++) {
                      elements[i].value = array[i];
                  }
              }
          </script>
      </head>
      <body onload="CreateTextBox()">
          <input type="button" value="增加" onclick="CreateTextBox()" />
          <input type="button" value="减少" onclick="RemoveTextBox()" />
          <input type="button" value="生成随机数" onclick="SetTextBoxValue()" /><br />
      </body>
      </html>
    

生成不重复的4位随机数

  • 生成不重复的4位随机数

    http://op05inpyd.bkt.clouddn.com/%E7%94%9F%E6%88%90%E4%B8%8D%E9%87%8D%E5%A4%8D%E7%9A%844%E4%BD%8D%E9%9A%8F%E6%9C%BA%E6%95%B0.txt

      /**
       * 生成4位随机数并赋值,已经有随机数的输入框,不再赋值
       */
       function GetTextBoxCount() {
           var elements = document.getElementsByName("ConfirmationCode");
           //TODO 只取空值的个数
           var nums=0;
           for(var j = 0; j < elements.length; j++){
               if(elements[j].value == null || elements[j].value ==""){
                   nums++;
               }
           }
           return elements.length;
       }
      
       Array.prototype.Contains = function (num) {
           var flag = false;
           if (this.length <= 0) {
               return flag;
           }
           for (var i = 0; i < this.length; i++) {
               if (this[i] == num) {
                   flag = true;
                   break;
               }
           }
           return flag;
       }
       function CreateRandomNumber(array,array2,count) {
           while (array.length < count) {
               var num = Math.floor((Math.random()) * 9000+1000);
               //将随机生成的数字与页面原有随机数比较,保证不重复
               if (!array.Contains(num) && !array2.Contains(num)) {
                   array.push(num);
               }
           }
       }
       function SetTextBoxValue() {
           var array = new Array();
           var array2 = new Array();
           var elements = document.getElementsByName("ConfirmationCode");
              //将已经存在的随机码存进array
              for (var i = 0; i < elements.length; i++) {
                  array2.push(elements[i]);
              }
           var count = GetTextBoxCount();
           CreateRandomNumber(array,array2,count);
           
           for (var i = 0; i < elements.length; i++) {
               //非空不赋值
               if(elements[i].value == null || elements[i].value ==""){
                   elements[i].value = array[i]; 
               }
           }
       }
      /**
      * 检查用户手动输入确认码是否重复
      */
      function IsCodeExists(data){
          //获取页面数据并存进数组中
          var elements = document.getElementsByName("ConfirmationCode");
          var array4 = new Array();
             for (var i = 0; i < elements.length; i++) {
                  array4.push(elements[i].value);
              }
            //对数组中的数据进行重复比较
             var ary = array4; 
             var nary=ary.sort(); 
             for(var i=0;i<ary.length;i++){ 
                 if (nary[i]==nary[i+1] && nary[i] !=""){ 
                 alert("确认码 "+nary[i]+" 重复,请重新输入!"); 
                 }
             }
      }
    
      /**
      * 提交前再做一次重复判断,若重复,则弹窗提醒并且不提交
      */
      function btnsave_clicked(){
          var flag=false;
          //获取页面数据并存进数组中
          var elements = document.getElementsByName("ConfirmationCode");
          var array4 = new Array();
            for (var i = 0; i < elements.length; i++) {
                 array4.push(elements[i].value);
             }
            //对数组中的数据进行重复比较
             var ary = array4; 
             var nary=ary.sort(); 
             for(var i=0;i<ary.length;i++){ 
                 if (nary[i]==nary[i+1] && nary[i] !=""){ 
                     flag=false;
                     alert("确认码 "+nary[i]+" 重复,请重新输入!"); 
                    return false;
                 }else{
                     flag=true;
                 }
             }
          if(flag){
              //将要返回的数据打包封装
              document.all.formdetail.value = getDetail2();
              document.all.lg_sh_deliveryconfirmationcodform.action=<select:link page="/lg_sh_deliveryconfirmationcodaction.do?method=save"></select:link>;
              document.all.lg_sh_deliveryconfirmationcodform.submit();
              
          }
      
      }
    

给查询结果集计算行数并赋值行数

  • 给查询结果集计算行数并赋值行数

      //计算行数
      function init(){
          for(var i=1; i<=intTotalRow; i++){
              document.all.seq[i].value = i;
          }
      }
    
      ------
      对应的文本框属性
      <grid:text style="width:40px;" readonly="true" isReturn="true" capital="序号" property="seq" tabindex="-1"/> 
    

div显示切换

  • 点击按钮,让两个div切换显示,只显示一个

      <!DOCTYPE html>
      <script>
          function btn1(){
              document.getElementById('div1').style.display='none';
              document.getElementById('div2').style.display='block';
          }
          function btn2(){
              document.getElementById('div1').style.display='block';
              document.getElementById('div2').style.display='none';
          } 
      </script>
      
      <body>
          <div id="div1" style="background:green;height:200px">
          第一个div高200px
          </div>
          <div id="div2" style="background:gray; display:none;height:400px">
          第二个div高400px
          </div>
          <button id="btn1" onclick="btn1()">显示第二个</button>
          <button id="btn1" onclick="btn2()">显示第一个</button>
          </body>
      </html>
    

js过滤空格

  • 过滤获取值的空格

      1、过滤字符串两边的空格
         str = $.trim(str)
      
      2、过滤所有空格
         str = str.replace(/ /g,'')
    
      例如:
      var num = document.getElementById('truckNumInput').value.replace(/ /g,'');
    

输入框获取焦点

  • 加载页面时输入框获取焦点

      <script>
          window.onload = function(){
              document.getElementById("name").focus();
          }
      </script>
    

JS代码收集

  • 代码位置(私有)

https://git.coding.net/uxaw/keyboard.git

包含内容:

  • 网页键盘
  • table点击变色

span标签内容居中

  • span标签内容居中

      <body>
      <div style="width:160px;height:100px;border:1px dashed #FFFFFF;margin:0 auto" >
          <span style="height:100px;display:block;background:gray;margin:1px 1px;text-align:center;line-height:100px;">
          内容内容内容
          </span>
      </div>
      </body>
    

JQuery格式

  • JQuery

      $.post("login.tushu",-------------------url
          {
              "userName": userName,
              "passWord": passWord
          },               ---------------------data
          function (respnum) {
              var obj = eval("(" + respnum + ")");
              var num = obj.num;
              if (0 == num) {
                  loginNo.css("display", "block");
              } else {
                  //跳转页面
                  location.href = "jsp/index.jsp";
              }
          })               -------------------callback
                      
                      
          
      格式:    
      jQuery.post( url, [data], [callback], [type]
    

JSP中java代码获取路径

  • 获取路径

      <%
          String path = request.getContextPath();
          String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
      %>
      
      得到结果:
      http://localhost:8090/
    

自动跳转链接(定时)

  • 自动跳转

      <!DOCTYPE html>  
      <html>  
      <head>  
          <meta charset="utf-8">  
      </head>  
      <script type="text/javascript">   
        
      function toDiscuz(){  
          document.getElementById("sp").click();  
      }  
      </script>   
      <body onload="toDiscuz()">  
          <a href="https://www.baidu.com"><span id="sp">自动点击</span></a>  
      </body>  
      </html>
      
    
  • 定时3秒后自动跳转

      将<body onload="toDiscuz()"> 
      改为:
      <body onload=setTimeout("toDiscuz('run','1')",3000)>
      
    
  • bootstrap小窗口弹窗变灰无法操作

    更改bootstrap.js源码:

      在 .appendTo(this.$body 添加后 .find('.contentIndex')
      改成:
      .appendTo(this.$body.find('.contentIndex'))
    

根据身份号码计算年龄

  • 年龄

      //计算年龄函数
      function GetAge(identityCard) {
          var len = (identityCard + "").length;
          if (len == 0) {
              return 0;
          } else {
              if ((len != 15) && (len != 18))//身份证号码只能为15位或18位其它不合法
              {
                  return 0;
              }
          }
          var strBirthday = "";
          if (len == 18)//处理18位的身份证号码从号码中得到生日和性别代码
          {
              strBirthday = identityCard.substr(6, 4) + "/" + identityCard.substr(10, 2) + "/" + identityCard.substr(12, 2);
          }
          if (len == 15) {
              strBirthday = "19" + identityCard.substr(6, 2) + "/" + identityCard.substr(8, 2) + "/" + identityCard.substr(10, 2);
          }
          //时间字符串里,必须是“/”
          var birthDate = new Date(strBirthday);
          var nowDateTime = new Date();
          var age = nowDateTime.getFullYear() - birthDate.getFullYear();
          //再考虑月、天的因素;.getMonth()获取的是从0开始的,这里进行比较,不需要加1
          if (nowDateTime.getMonth() < birthDate.getMonth() || (nowDateTime.getMonth() == birthDate.getMonth() && nowDateTime.getDate() < birthDate.getDate())) {
              age--;
          }
          return age;
      }
      
      //赋值
      document.getElementById('realAge').innerText=age;    
    

待续…