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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM