【关于JavaScript】自动计算的实例

在一些贸易业务Web系统中,某些页面需要提供实时的辅助计算功能,例如:员工录入货物的单价和数量的值,通过JavaScript的事件处理可以直接显示出总价。

如下图所示就是本例的运行效果图:

本例中也采用了数字有效性验证,如果用户没有在文本框中输入合理的数据,系统会弹出类似于如下图所示的警告对话框。

本例中定义了一个无参数的函数price_total()同时作为单价和数量的KeyUp事件处理程序。

此外,我们还定义了一个含有两个参数的公共函数total(price,amount)用来计算总价格。

下面是关键的JS代码实现部分:

 1 <script language="JavaScript">
 2 function total(price,amount){
 3 var totalprice=parseInt(amount)*parseFloat(price);
 4 totalprice=Math.round(totalprice*100)/100;
 5 document.form1.totalprice.value=totalprice;
 6 }
 7 function price_total(){
 8 document.form1.totalprice.value="";
 9 var amount=document.form1.amount.value;
10 var price=document.form1.price.value; if(isNaN(price)){
11 alert("单价必须为数字!");
12 document.form1.price.focus();
13 document.form1.price.select();
14 return false;}
15 if(isNaN(amount)){
16 alert("数量必须为数字!");
17 document.form1.amount.focus();
18 document.form1.amount.select();
19 return false;}
20 if(price!=""&&amount!="")
21 total(price,amount);}
22 </script>
时间: 2024-08-06 20:08:30

【关于JavaScript】自动计算的实例的相关文章

JavaScript发布/订阅实例

原文链接: Pub/Sub JavaScript Object原文日期: 2014年6月11日翻译日期: 2014年6月13日 翻译人员: 铁锚 高效AJAX网站的三大杀器: 事件代理, 浏览历史管理, 以及高效应用级 发布/订阅通信机制. 本博客的原文站点 同时使用了这三种技术,本文中作者将分享其中最简单的一个: 该网站使用的 一个微型 发布/订阅模块. 如果你不了解 发布/订阅 模式,那么可以将其类比为 你发表了一篇博文,所有人都可以订阅你的博客, 也类似于广播电台的工作方式: 有一个站台进

javaScript 面向对象开发实例

javaScript 面向对象开发实例 这个是结合require的模块化开发,首先创建构造函数: //test.js 1 function Test(lists) { 2 var config={ 3 name:lists.name, 4 sex:lists.sex 5 }; 6 this.init(config) 7 } 8 Radio.prototype = { 9 init: function(config) { 10 var self=this; 11 self.initContent(

【javascript】javascript常见正则表达式实例

javascript常见正则表达式实例 实例来源 1 var myRegExp = { 2 // 检查字符串是否为合法QQ号码 3 isQQ: function(str) { 4 // 1 首位不能是0 ^[1-9] 5 // 2 必须是 [5, 11] 位的数字 \d{4, 9} 6 var reg = /^[1-9][0-9]{4,9}$/gim; 7 if (reg.test(str)) { 8 console.log('QQ号码格式输入正确'); 9 return true; 10 }

javascript继承简单实例

javascript继承简单实例: 作为一门面向对象的语言,那么继承自然就是一大特征,下面是一段非常简单代码实例,它演示了实现继承的基本原理,有兴趣的或者恰好要学习此方面的朋友可以参阅一下,希望能够给大家来帮组. //继承 function Person(name,sex) { this.name=name; this.sex=sex; } Person.prototype.sayName=function() { alert(this.name); } Person.prototype.say

关于Javascript中通过实例对象修改原型对象属性值的问题

Javascript中的数据值有两大类:基本类型的数据值和引用类型的数据值. 基本类型的数据值有5种:null.undefined.number.boolean和string. 引用类型的数据值往大的说就1种,即Object类型.往细的说有:Object类型.Array类型.Date类型.Regexp类型.Function类型等. 当原型对象的属性值为基本类型的数据值时,通过实例对象修改属性值从而引起原型对象的属性值发生变化的情况不会发生.当原型对象的属性值为引用类型的数据值时,通过实例对象修改

JavaScript String 对象实例深入研究

本文主要介绍并分析JavaScript中String对象的具体用法,以及和String对象相关的方法,方便开发者在JavaScript开发中更好地处理字符串. 1. 介绍 String 对象,对字符串进行操作,如:截取一段子串.查找字符串/字符.转换大小写等等. 2. 定义方式 2.1 new String(Value) 构造函数:返回一个内容为Value的String对象参数: ①value {String} :字符串 返回值: {String对象} 返回一个内容为Value的String对象

JavaScript模板引擎实例应用(转)

本文将举实例向大家讲解几个常用模板引擎的简单使用. 演示地址:模板引擎示例http://demo.52fhy.com/jstemp/ 准备工作 演示数据:blog.json结构: { "list": [ { "title": "这是title", "url": "http://www.cnblogs.com/52fhy/p/5271447.html", "desc": "摘要&

javascript 命名空间的实例应用

/** * 创建全局对象MYAPP * @module MYAPP * @title MYAPP Global */ var MYAPP = MYAPP || {}; /** * 返回指定的命名空间,如果命名空间不存在则创建命名空间. * 备注:命名时需小心,注意保留关键字,可能在一些浏览器无法使用. * * @method namespace * @param {String *} 至少需要创建一个命名空间 * @return {Object} 最后一个命名空间创建的对象的引用 */ MYAP

javascript数组的实例属性(方法)

javascript的所有数组实例对象,除了可以给自己增删属性之外:都会从Array.prototype继承属性(方法).修改Array的原型会影响所有的数组实例. 数组实例的属性: Array.prototype.constructor: 所有数组都继承了这个属性,它的只是''Array'',表明了所有的数组都是有Array构造出来的. Array.prototype.length: 因为Array.prototype也是个数组,所以也有length属性,这个值为0,因为它是个空数组.这个也不