0

我有以下表单,我想确保用户在提交表单之前输入至少两个字符。所以我禁用了提交按钮:

<form action="/search" method="post" id="search_form" name="searchform">
<input id="search_box" type="text" class="inp" placeholder="Search" />
<input type="submit" id="search_button" disabled class="btn" value="Search">
</form>

我正在尝试以下 Jquery 来捕获按键但没有发生:

$("#search_box").keypress(function() {
if($(this).length > 1) {
     $('#search_button').removeAttr('disabled');
}
});

我设置了一个小提琴来展示:http: //jsfiddle.net/HZvSF/3/

4

2 回答 2

2

你需要得到val()你的文本框:

$("#search_box").keypress(function() {
if($(this).val().length > 1) {
     $('#search_button').removeAttr('disabled');
}
});

编辑

我刚刚看到这个库是小提琴中的 MooTools,它在这里工作:http: //jsfiddle.net/HZvSF/17/

于 2012-08-18T10:00:27.253 回答
0

我认为这是绑定的问题。匿名函数“this”内部不是指je JQuery对象,而是我认为的窗口。

$("#search_box").keypress(function(event) {
if($(event.target).val().length > 1) {
     $('#search_button').removeAttr('disabled');
}
});
于 2012-08-18T10:02:05.037 回答