1

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

<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].result 到 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

4

2 回答 2

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,因为它支持数据绑定(示例 -数据绑定

于 2013-09-04T11:54:13.623 回答
1

它是用一些 jQuery 代码完成的:

$('#form').submit(function() {
    $('#price').val(value_you_want_to_change);
});
于 2013-09-04T11:41:22.097 回答