如何在输入字段中更改文本时在html页面中显示警报

时间:2012-10-12 05:27:03

标签: javascript html

我有一个文本框,当文本发生变化时我想要一个警告,但现在问题是,当我写11时它会显示两次警告。

    function onChangeText(){

       alert("Please show update buttons"); 

    }

6 个答案:

答案 0 :(得分:1)

您可以尝试:My Fiddle

<input type="text" onchange="alert('Hello');">​

答案 1 :(得分:0)

尝试onkey而不是onchange

<input type="text" onkeyup="onChangeText()" />

答案 2 :(得分:0)

您可以拨打您的javascript onblur而不是onchange

<input type="text" onblur="onChangeText();">​

答案 3 :(得分:0)

试试这个:

<input type="text" onblur="if(this.value != '') onChangeText();">​

答案 4 :(得分:0)

您可以尝试focusout

查看此fiddle

答案 5 :(得分:0)

另一种方法是创建全局超时变量,将侦听器绑定到input事件。回调函数将重置timeout并检查前一个事件是否发生在指定的时间之前(例如500ms)。

您可能已经注意到,在单击其他元素后执行 onchange 的示例。这是更改事件的默认行为。 输入表现不同。

示例:http://jsfiddle.net/Klaster_1/3byVb/

var timeout;
$("input").on("input", function(event) {
    var value = event.target.value;

    clearTimeout(timeout);
    timeout=setTimeout(function(){
        if(value.length){
            alert(value);
        }
    },500);
});​