2015-05-06 29 views
1

我想在用戶在輸入字段中輸入某個單詞時發出警報......當用戶單擊某個提交按鈕或任何其他內容時......但在鍵入關鍵字後立即場地內的...當用戶在輸入字段中輸入特定單詞時出現火警警報

比方說,警報會立即解僱時,「foobar的」鍵入到以下字段:

<input id="password" name="password" /> 

是有可能做到這一點?

+0

在https://api.jquery.com/keydown/上設置事件處理程序,然後檢查所需字的輸入字段的值 – Huangism

回答

3

是的,很容易:

$(function() { 
 
    var triggerWords = ['foobar', 'barfoo']; 
 
    $('#password').keyup(function() { 
 
     for (var i = 0; i < triggerWords.length; i++) { 
 
      if ($(this).val().toLowerCase() == triggerWords[i]) { 
 
       alert('Alert!'); 
 
      } 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input id="password" name="password" />

這一次處理多個單詞。這裏有一個小提琴,太:http://jsfiddle.net/rnpykekx/

0

這的確是

jQuery('input#password').on('change', function(){ 
    if (jQuery(this).val() == "foobar") alert('bad password!') 
}); 

這將趕上短語foobar的,但用戶已經停止打字輸入之後。你需要在用戶停止輸入之前捕捉到這個問題嗎?

0

使用onkeyuponchange(後者只會在焦點被移除時觸發)事件來檢測用戶何時更改表單中的某些內容(例如鍵入),然後搜索輸入的值以獲取所需的字符串(例如,with inputValue.indexOf("foobar") != -1,如果字符串中包含「foobar」,則將爲true)。

請注意,如果用戶輸入某些內容,即使它們沒有輸入特定單詞,也會最終提醒。解決這個問題的一個方法是保存您是否已經收到警報(例如,僅在第一次輸入時發出警報),或者跟蹤單詞出現的次數,然後在警報增加時發出警報。