当用户在输入字段中输入某个单词时,我想发出警告...当用户点击某个提交按钮或其他任何内容时...但是在关键字输入字段后立即... ...
让我们说当在下面的字段中键入“foobar”时,警报会立即触发:
<input id="password" name="password" />
可以这样做吗?
答案 0 :(得分: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/
答案 1 :(得分:0)
确实是
jQuery('input#password').on('change', function(){
if (jQuery(this).val() == "foobar") alert('bad password!')
});
这将捕获短语foobar,但仅在用户停止输入输入后。在用户停止输入之前,您是否需要捕获它?
答案 2 :(得分:0)
使用onkeyup
或onchange
(后者仅在删除焦点时触发)事件以检测用户何时更改表单中的内容(例如,键入),然后搜索输入的值所需的字符串(例如,使用inputValue.indexOf("foobar") != -1
,如果“foobar”在字符串中,则为true。
请注意,这会在用户输入内容的每个时间内提醒,即使他们没有输入特定的字词。解决这个问题的一种方法是保存您是否已经发出警报(例如,仅在第一次输入时发出警报),或者跟踪单词的出现次数,然后在出现增加时发出警报。