2015-06-08 4 views
0

Я создаю контактную форму для своего сайта, и я добавляю несколько пасхальных яиц-шуток, которые вызывают, если пользователь выбирает определенную опцию или в этом случае происходит вхождение определенной строки в сообщение текстовое поле.
Я хотел бы иметь возможность запускать действие по мере их ввода ...Если textarea содержит определенную строку, то

Я попытался использовать indexOf(), но это не сработало или, возможно, я использовал его неправильно.

$("#id_message").keyup(function(){ 
    if($('#id_message').val().indexOf('foo') > -1){ 
     // do something 
    } 
}); 

Каков правильный способ сделать это?

Благодаря

+2

вы добавить JQuery (документ) .ready обертка вокруг кода? https://learn.jquery.com/using-jquery-core/document-ready/ – shershen

+0

Я проверил ваш код, и он работает, поэтому, возможно, есть еще одна ошибка. Возможно, опечатка в id или установка события в неподходящее время. – GolezTrol

+0

@GolezTrol Я не мог заставить свой код работать. Я понял теорию того, что я пытаюсь сделать. Небольшое изменение, которое Вакас Ибрагим сделал ниже, решило проблему. – rxssmcdxwell

ответ

3

Попробуйте это:

$("#id_message").on('keyup', function(){ 
    if($('#id_message').val().indexOf('foo') > -1){ 
     // do something 
    } 
}); 
+2

Это может быть решение (или, по крайней мере, * * *), но немного контекст сделает ответ намного лучше. – GolezTrol

+0

Это решение работает! Спасибо. Из интереса, есть ли способ игнорировать чувствительность к регистру? Итак, если пользователь вводит «Foo» или «FOO», что код все равно будет работать? – rxssmcdxwell

+0

Вы можете использовать '$ ('# id_message'). Val(). ToLowerCase()' и сравнить его с строчным словом. –

 Смежные вопросы

  • Нет связанных вопросов^_^