1

如果输入值包含某个单词,则尝试执行某些操作,但这不起作用:

   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>
4

3 回答 3

7

您的标题提到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 对象。

于 2011-09-30T20:28:09.940 回答
1
$(function(){
  var formMain =  $('#MainForm input[name="Search"]').val();
  if (formMain.indexOf('word') >= 0) {
    alert('HAS THIS WORD IN IT!');
  }
});
于 2011-09-30T20:30:12.000 回答
0

可能你在选择器上做错了,应该只使用 .val 和选择器......这是你检查这个http://jsfiddle.net/sahil20grover1988/V2dsn/3/的东西

于 2011-09-30T20:34:12.563 回答