我的问题是: 我有两个输入框,一个用于代码,一个用于价格:
<input class="style" name="code" id="code" type="text">
<input class="style" name="price" id= "price" type="text" value="€ 15,00" readonly="readonly">
现在我想通过代码更改价格(比如从代码数组 [code1][code2]. 结果到 code1 = price/2 和 code2 = price/4 的检查)我想通过脚本检查实时或发布前(提交时)。这可能是什么时候?或者还有其他更好的方法吗?
我有:
while(true)
{
var code = document.getElementById("code").value;
var codes = new Array("promo1", "promo2");
for (var i=0; i<codes.length; i++) {
if (codes[i] == code) {
document.getElementById("price").value = "5";
}
}
}
我的输入字段显然在表单字段中 但值(value)没有改变,但为什么呢? 我不必实时更改如果帖子发送新值就可以了......任何解决方案/更好的想法/提示? 我知道 JQuery 是一种更好的方法,但它不应该是 js 的问题。
fiddle 链接:
jsfiddle.net/vicR/4Mtbr
最佳答案
这可以通过多种方式轻松获得,特别是如果使用库或框架,但使用纯 javascript 应该这样做:
while(true) {
var code = document.getElementById("code").value
//now check for valid code in some sort of map or array
//REMEMBER javascript supports string indexed arrays such as arr["#45"]
if(code == validatorFunctionOrCode) { //obviously pseudo
document.getElementById("price").value = "your corresponding price to the code"
}
}
- 这一切都在您点击提交按钮之前进行了动态检查。
说到这里我强烈推荐 Angular.js因为它支持数据绑定(bind)(例如 - databinding)
关于javascript - JS改变输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18612794/