Javascript 如何在HTML中使用onchange

Javascript 如何在HTML中使用onchange,javascript,html,Javascript,Html,我在html ie中有两个文本框: <input type="text" value="" id="a" name="a" /> <input type="text" value="" readonly="true" id="b" name="b" /> 它满足了我80%的要求,因为如果我在插入一个数字后单击任何WAE,它将在元素“b”中进行更改。我看到您正在使用jQuery。您可以绑定到文本框的事件: $('input:text[name=a]').change(fu

我在html ie中有两个文本框:

<input type="text" value="" id="a" name="a" />
<input type="text" value="" readonly="true" id="b" name="b" />

它满足了我80%的要求,因为如果我在插入一个数字后单击任何WAE,它将在元素“b”中进行更改。

我看到您正在使用jQuery。您可以绑定到文本框的事件:

$('input:text[name=a]').change(function() {
    // invoked when the value of input name="a" changes
    // get the new value
    var value = $(this).val();
    // update the value of input name="b"
    $('input:text[name=b]').val(2 * value);
});

当输入失去焦点时,将引发此事件。您还可以查看和事件。

如果您想在每次按键时回拨电话,可以使用onKeyPress属性


(如果您使用JQuery/prototype/etc之类的库,可能有一种很好的方法可以使用库观察字段)

我认为使用onkeyup事件可能会有所帮助

<input type="text" value="" id="a" name="a" onkeyup="calcTotalAmount()" />
<input type="text" value="" readonly="true" id="b" name="b" />

<script>

    function calcTotalAmount() {

        var a = document.getElementById("a");
        var b = document.getElementById("b");

        if (!isNaN(a.value)) {
            b.value = a.value * 2;
        }
    }

</script>

函数calcTotalAmount(){
var a=document.getElementById(“a”);
var b=document.getElementById(“b”);
如果(!isNaN(a.value)){
b、 值=a.值*2;
}
}
为什么要打电话

按下键时触发Onkeydown事件,松开键时触发onkeyup事件,如果Onkeydown后跟onkeyup,则触发onkeypress事件


在onkeydown时,输入字段还没有包含值。

我想问题是:“当按键发生时,而不是焦点改变时,我如何使输出显示?”您可能会发现这很有用:这不是他已经在做的事情吗?(尽管他确实需要查看
keypress
keyup
我认为。)甚至$(“输入:文本[name=a]”);我也试过$(“输入:文本[name=a]”)。按键(function(){var value=$(this.val();if((value>0)&&&(value!=”){$('input:text[name=b]')).val(2*value);}else{$(“输入:文本[name=a]”val(“”;$(“输入:文本[name=b]”)val(“)));$);但在第一次按键时,它接受空值。
<input type="text" value="" id="a" name="a" onkeyup="calcTotalAmount()" />
<input type="text" value="" readonly="true" id="b" name="b" />

<script>

    function calcTotalAmount() {

        var a = document.getElementById("a");
        var b = document.getElementById("b");

        if (!isNaN(a.value)) {
            b.value = a.value * 2;
        }
    }

</script>