JS改变输入值

时间:2013-09-04 11:37:34

标签: javascript html web

我的问题是: 我有两个输入框,一个用于代码,一个用于价格:

<input class="style" name="code" id="code" type="text">
<input class="style" name="price" id= "price" type="text" value="&euro; 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";
        }       
    }
}

我的输入字段显然位于表单字段中 但价值没有变化,但为什么呢? 我不必实时更改,如果帖子发送新值...任何解决方案/更好的想法/提示将是好的吗? 我知道JQuery有一个更好的方法,但它不应该是js的问题。

小提琴链接:
jsfiddle.net/vicR/4Mtbr

2 个答案:

答案 0 :(得分:2)

这可以通过多种方式轻松获得,特别是如果使用库或框架,但使用纯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,因为它支持数据绑定(例如 - databinding

答案 1 :(得分:1)

完成了一些jQuery代码:

$('#form').submit(function() {
    $('#price').val(value_you_want_to_change);
});