注意:用到了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>

js 实时监听input中值变化的更多相关文章

  1. js实时监听input中值得变化

    <!DOCTYPE html> <html> <head> <title>zepto</title> <meta name=" ...

  2. js实时监听input中值的变化

    $(function(){ $('#inputid').bind('input propertychange', function() { // input 中的值 var params = $(th ...

  3. jQuery实时监听input的值变化(input的值产生变化才会触发事件)

    //用于监听input的值变化(input的值产生变化才会触发事件) (function ($) { $.fn.watch = function (callback) { return this.ea ...

  4. Js/jQuery实时监听input输入框值变化

    前言在做web开发时候很多时候都需要即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感.而采用onchange时间又往往是在输入框失去焦点(onblur)时候触发,有时候并不能满 ...

  5. 使用jQuery实时监听input输入值的变化

    //jQuery实时监听input值变化 $("#email").on("input propertychange",function(){ var str = ...

  6. jq 实时监听input输入框的变化

    项目需求中有时候需要实时监测 input 的值变化,虽然 input 自身有 focus 和 blur 事件,但是有时候跟需求不符合. 所以实时监听 input 值变化的代码为: $("#i ...

  7. 实时监听input输入的变化(兼容主流浏览器)【转】

    遇到如此需求,首先想到的是change事件,但用过change的都知道只有在input失去焦点时才会触发,并不能满足实时监测的需求,比如监测用户输入字符数. 在经过查阅一番资料后,欣慰的发现firef ...

  8. [转] 实时监听input输入的变化(兼容主流浏览器)

    遇到如此需求,首先想到的是change事件,但用过change的都知道只有在input失去焦点时才会触发,并不能满足实时监测的需求,比如监测用户输入字符数. 在经过查阅一番资料后,欣慰的发现firef ...

  9. 实时监听input输入的变化(兼容主流浏览器)

    遇到如此需求,首先想到的是change事件,但用过change的都知道只有在input失去焦点时才会触发,并不能满足实时监测的需求,比如监测用户输入字符数. 在经过查阅一番资料后,欣慰的发现firef ...

随机推荐

  1. PHP学习总结

    <?php /* PHP简介: PHP是什么:PHP是一种创建动态交互性站点的强有力的服务器端脚步语言 PHP代表Hypertext Preprocessor PHP是一种使用广泛的开源的脚本语 ...

  2. 取消ie浏览器edge浏览器输入框右边的叉和眼睛

    在ie高版本浏览器和edge浏览器里type为text和password的input框在输入时右边会出现×和眼睛,如果需要清除,方法如下: 首先在页面头部声明兼容性模式 <meta http-e ...

  3. Premiere使用整理

    整理部分自己在使用Premiere CC中遇到的问题和注意点. 1. 新建序列 若是录屏文件,可选择已加入到项目中的视频文件,点击 文件-新建-来自剪辑的序列. 2. 新建字幕 用于在视频中添加文字. ...

  4. python发送邮件

    python发送邮件(无附件) ======================================================= #!/usr/bin/env python#coding ...

  5. C# GetType与typeof

    在反射和泛型中经常会使用到Type类,获取Type的最常用的方法是 obj.GetType(),和typeof(T).在获取泛型的type时有些小坑. public static void Main( ...

  6. Nodejs事件引擎libuv源码剖析之:高效队列(queue)的实现

     声明:本文为原创博文,转载请注明出处. 在libuv中,有一个只使用简单的宏封装成的高效队列(queue),现在我们就来看一下它是怎么实现的. 首先,看一下queue中最基本的几个宏: typede ...

  7. Spring MVC学习笔记——SiteMesh的使用(转)

    转自 SiteMesh的使用 SiteMesh的介绍就不多说了,主要是用来统一页面风格,减少重复编码的. 它定义了一个过滤器,然后把页面都加上统一的头部和底部. 需要先在WEB-INF/lib下引入s ...

  8. JDK Collection 源码分析(3)—— Queue

    @(JDK)[Queue] JDK Queue Queue:队列接口,对于数据的存取,提供了两种方式,一种失败会抛出异常,另一种则返回null或者false.   抛出异常的接口:add,remove ...

  9. 行列转置(Oracle)

    一.Oracle行列转置 1.行转列 (1)创建表格.插入测试数据 create table student( id number, name ), course ), score number ) ...

  10. linux常见命令总结

    日志文件说明 /var/log/message 系统启动后的信息和错误日志,是Red Hat最常用的日志之一 /var/log/secure 与系统安全相关的日志信息 /var/log/maillog ...