代码之家  ›  专栏  ›  技术社区  ›  Paul Dixon

如何在按键修改后获得HTML输入的新值?

  •  18
  • Paul Dixon  · 技术社区  · 16 年前

    我有一个HTML输入框

    <input type="text" id="foo" value="bar">
    

    弹起 '事件,但如果我在事件处理程序期间检索输入框的当前值,我将按原样获取值,而不是按原样获取值!

    按键 “还有”

    我相信这很容易解决,但目前我认为唯一的解决方案是在未来几毫秒内使用短超时触发一些代码!

    在这些事件中是否仍有获取当前值的方法?

    6 回复  |  直到 16 年前
        1
  •  36
  •   doctorsherlock Owen    7 年前

    你能发布你的代码吗?我不觉得这有什么问题。在Firefox 3.01/safari 3.1.2上测试,具有:

    function showMe(e) {
    // i am spammy!
      alert(e.value);
    }
    ....
    <input type="text" id="foo" value="bar" onkeyup="showMe(this)" />
    
        2
  •  15
  •   Jonatas Walker    9 年前

    现代的 这一问题的解决办法。这很有效,包括 + v . GlobalEventHandlers.oninput .

    var onChange = function(evt) {
      console.info(this.value);
      // or
      console.info(evt.target.value);
    };
    var input = document.getElementById('some-id');
    input.addEventListener('input', onChange, false);
    
        3
  •  7
  •   pawel    16 年前

    有两种输入值:字段的 所有物 属性 .

    如果使用keyup event和field.value,则应获取字段的当前值。

        4
  •  3
  •   Neal Swearer    16 年前
    <html>
        <head>
            <script>
            function callme(field) {
                alert("field:" + field.value);
            }
            </script>
        </head>
        <body>
            <form name="f1">
                <input type="text" onkeyup="callme(this);" name="text1">
            </form>
        </body>
    </html>
    

    看起来您可以使用onkeyup来获取 刚出现的 HTML输入控件的值。希望能有帮助。

        5
  •  1
  •   Marko Dumic    16 年前

    <html>
    <head>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $('#foo').keyup(function(e) {
                    var v = $('#foo').val();
                    $('#debug').val(v);
                })
            });
        </script>
    </head>
    <body>
        <form>
            <input type="text" id="foo" value="bar"><br>
            <textarea id="debug"></textarea>
        </form>
    </body>
    </html>
    
        6
  •  0
  •   domgblackwell    16 年前

    Here 是一个包含不同事件和浏览器支持级别的表。您需要选择至少所有现代浏览器都支持的事件。

    正如您将从表中看到的 keypress change keyup

    还要确保使用跨浏览器兼容的方法附加事件处理程序。。。