jQuery的 – 检查input字段的长度?

下面的代码旨在启用提交button,一旦用户点击textarea字段。 它的工作原理,但我也想这样做,只有在字段中至less有一个字符,才能启用它。 我试图包装在:

if ($(this).val().length > 1) { } 

但是,这似乎没有工作…任何想法?

 $("#fbss").focus(function () { $(this).select(); if ($(this).val() == "Default text") { $(this).val(""); $("input[id=fbss-submit]").removeClass(); $("input[id=fbss-submit]").attr('disabled', false); $("input[id= fbss-submit]").attr('class', '.enableSubmit'); if ($('.charsRemaining')) { $('.charsRemaining').remove(); $("textarea[id=fbss]").maxlength({ maxCharacters: 190, status: true, statusClass: 'charsRemaining', statusText: 'characters left', notificationClass: 'notification', showAlert: false, alertText: 'You have exceeded the maximum amount of characters', slider: false }); } } }); 

这是行不通的,因为从其余的代码判断,文本input的初始值是“默认文本” – 这是多个字符,所以你的if条件总是为真。

最简单的办法就是解决这个问题:

  var value = $(this).val(); if ( value.length > 0 && value != "Default text" ) ... 

如果你的意思是你想在用户键入至less一个字符后启用提交,那么你需要附加一个键盘事件来检查它。

就像是:

 $("#fbss").keypress(function() { if($(this).val().length > 1) { // Enable submit button } else { // Disable submit button } });