jQuery val () indexOf не работает - PullRequest
       36

jQuery val () indexOf не работает

1 голос
/ 01 октября 2011

Попытка сделать что-то, если входное значение содержит определенное слово, но это не работает:

   var formMain =  $('#MainForm :input[name="Search"]');
    if ((formMain).value.indexOf('word') >= 0) {
    alert('HAS THIS WORD IN IT!');

Пример формы:

<form onsubmit="return OnSubmitSearchForm(event, this);" action="/searchresults.asp" id="MainForm" name="MainForm" method="post" class="search_results_section">
            <input type="hidden" value="word" name="Search">
            <input type="hidden" value="" name="Cat">
</form>

Ответы [ 3 ]

7 голосов
/ 01 октября 2011

В вашем названии упоминается val(), но вы на самом деле его не используете.formMain является объектом jquery и не имеет value, вы должны использовать val().

var formMain =  $('#MainForm :input[name="Search"]');
if (formMain.val().indexOf('word') >= 0) {
    alert('HAS THIS WORD IN IT!');
}

Также обратите внимание, что formMain является вводящим в заблуждение именем переменной, так как это не основная форма, а скорееобъект jquery, содержащий входные данные для поиска.

1 голос
/ 01 октября 2011
$(function(){
  var formMain =  $('#MainForm input[name="Search"]').val();
  if (formMain.indexOf('word') >= 0) {
    alert('HAS THIS WORD IN IT!');
  }
});
0 голосов
/ 01 октября 2011

возможно вы делаете ошибку с селектором и должны использовать .val только с селектором .... вот что вам нужно проверить это http://jsfiddle.net/sahil20grover1988/V2dsn/3/

...