检查输入值是否与onBlur不同

时间:2016-02-13 16:54:23

标签: javascript jquery html

如何在模糊后检查输入框的值是否相同?

$("#username").on('blur', function() {
  $("#usertext").append("new input<br>");
})

检查这个jsFiddle:https://jsfiddle.net/xztptsdg/

我们认为我在输入中输入“Josh”,在模糊之后,会添加新的输入框。但是,用户可以“重新模糊”用户名输入,并附加其他输入。

我想检查值是否相同,不附加新输入。

3 个答案:

答案 0 :(得分:3)

您可以使用change代替blur,例如:

$("#username").on('change', function() {
    $("#usertext").append("new input<br>");
});

因此,无需检查值是否已更改,因为change事件在其值发生更改时会发送给该元素。

答案 1 :(得分:1)

请参阅此fiddle

您可以保留一个全局变量来存储文本框的当前值,然后检查输入的值是否与前一个值相同。如果没有,则附加new input文本,并使用新变量设置全局变量。以下是执行此操作的Javascript。

<强> JS

var txt = "";
$("#username").on('blur', function() {
  if (txt != this.value) {
    $("#usertext").append("new input<br>");
    txt = this.value;
  }
})

我建议您使用change()。根据{{​​3}}

  

更改事件在值更改时发送给元素。

请参阅docs,以下是带有change()的JS代码。

$("#username").change(function() {
    $("#usertext").append("new input<br>");
});

答案 2 :(得分:1)

您可以像以下代码段那样执行此操作。

&#13;
&#13;
var text = '';
$("#username").on('blur', function() {
  if(this.value != text){
    text = this.value;  
    $("#usertext").append('new input<br>');
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="username" id="username">
<br>
<span id="usertext"></span>
&#13;
&#13;
&#13;