zoukankan      html  css  js  c++  java
  • js 实时监听input中值变化

    注意:用到了jquery需要引入jquery.min.js。

    需求:

    1.每个地方需要分别打分,总分为100;

    2.第一个打分总分为40;

    3.第二个打分总分为60。

    注意:需要判断null、""、isNaN()(是否是数字:如输入的是字母"a")、输入数值大小范围不能超过规定的总分;

       如果为null、""、isNaN为true、输入数值大小范围超过规定的总分则将文本框赋值为空并将input对应的数值赋值为0参与计算总分。

    文本框输入数值的时候总数会随着分数的输入而实时变化(即js实时监听input中值变化)。(实践是propertychange兼容各个浏览器,如IE、火狐、谷歌等)

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script src="js/jquery.min.js"></script>
    <title>Insert title here</title>
    <style type="text/css">  
    
    </style>
    <script type="text/javascript">
    $(function(){
        $('input').bind('input propertychange', function() {  
            var input1 = $("#input1").val();
            var input2 = $("#input2").val();
            var result = 0;
            
              if(input1==null||input1==""){
                  input1 = parseInt(0);
              }else if(isNaN(input1)){
                  alert("请填写数字!");
                  $("#input1").val("");
                  input1 = parseInt(0);
              }else{
                  input1 = parseInt(input1);
                  if(input1>40){
                      alert("填写的分数不能超过40");
                      $("#input1").val("");
                      input1 = parseInt(0);
                  }
              }
              
              if(input2==null||input2==""){
                  input2 = parseInt(0);
              }else if(isNaN(input2)){
                  alert("请填写数字!");
                  $("#input2").val("");
                  input2 = parseInt(0);
              }else{
                  input2 = parseInt(input2);
                  if(input2>60){
                      alert("填写的分数不能超过60");
                      $("#input2").val("");
                      input2 = parseInt(0);
                  }
              }
              
              result = input1+input2;
              $("#totalScore").val(result);
        });  
          
    });
    </script>
    </head>
    <body>
    <!--  js 实时监听input中值变化  --> 
    分数1:<input id="input1" name="input1" value="">&nbsp;<span style="color: red;">(总分为40)</span><br>
    分数2:<input id="input2" name="input2" value="">&nbsp;<span style="color: red;">(总分为60)</span><br><br>&nbsp;&nbsp;分:<input id="totalScore" name="totalScore" value=""><br>    
    </body>
    </html>
  • 相关阅读:
    使用Python操作InfluxDB时序数据库
    LogMysqlApeT
    内建函数 iter()
    Python魔法方法总结及注意事项
    Python魔法方法之属性访问 ( __getattr__, __getattribute__, __setattr__, __delattr__ )
    Python描述符 (descriptor) 详解
    在命令行模式下查看Python帮助文档---dir、help、__doc__
    python高并发的解决方案
    map中的erase成员函数用法
    指针的本质
  • 原文地址:https://www.cnblogs.com/super-chao/p/6168996.html
Copyright © 2011-2022 走看看