.onblur函数作为variable.value返回
.onblur function return as a variable.value?
http://jsfiddle.net/beY6d/
我想制作一个简单的HTML+JS页面,基本上给用户4个文本字段来写一些产品的名称,并在第5个文本字段中显示剩余信用。
<input type="text" value="0" class="product" id="shirtItems"/><br>
<input type="text" value="0" class="product" id="pantsItems"/><br>
<input type="text" value="0" class="product" id="hatItems"/><br>
<input type="text" value="0" class="product" id="accesoryItems"/><br>
<input type="text" value="100" id="credit" disabled/>
var shirt= document.getElementById("shirtItems");
var pants= document.getElementById("pantsItems");
var hat= document.getElementById("hatItems");
var accesory= document.getElementById("accesoryItems");
var remainingDosh = document.getElementById("credit");
remainingDosh.value = 100;
必须有一个.onblur
(或.onfocus
)事件,才能使"信用"字段显示100减去其他项目的总和。
此外,商品的价格必须根据商品的颜色/类型而变化。类似于:
shirt.onblur = function(){
if (shirt.value == "Blue") {remainingDosh.value = remainingDosh-25}
if (shirt.value == "Red") {remainingDosh.value = remainingDosh-20;}
};
如果执行typeof remainingDosh.value
,您将看到它记录string
。这意味着,如果你不想冒NaN
出现在页面上的风险,你必须将字符串转换为数字。
用parseInt()
这样转换:
var remainingDosh.value = parseInt(remainingDosh,10)-25;
第二个参数10
是基数,在这种情况下是十进制的(尽管我认为如果省略,它默认为十进制)。
正如所指出的,有问题的是,你试图对元素remainingDosh
进行数学运算,而不是使用它的value
。
哦,还有protip:您可以使用this.value
,而不是shirt.value
,因为事件来自上述元素。
进行减法运算时,使用的是remainingDosh
而不是remainingDosh.value
。
相关文章:
- .value返回字符串,直到我将其保存到变量
- 等待's返回Promise而不是value
- 有些人有任何关于如何使用Modified Java Script Value处理返回Json(url)的示例
- 为什么我'我得到的是Not-A-Number,而不是函数返回的Value
- 使用deferred.resolve(Value)返回给my.then()的值未定义
- Promise.all() - 如何在不返回 undefined 或 value 的情况下解析()
- file.value 返回未定义
- 为什么document.forms[“myform”][“input”].value返回未定义
- this.value 返回带有值的括号
- jQuery对象.value返回未定义的值
- getElementById().value返回未定义
- javascript文档.getElementById('').value返回null
- 输入类型的getElementById.value返回未定义的值
- Array.find(value)返回值'不是函数'
- 使用indexof value返回第二个数组中的值
- cookie的Value返回"false"每一次
- .value返回undefined而不是正确的HTML值
- .onblur函数作为variable.value返回
- Span.innerHTML返回文本,但Span.value返回未定义的值
- 文本框.Value返回一个空字符串