2014-02-23 51 views
0

我正在使用一些代码(请参见下文)停止我的网站上的搜索按钮,直到某些文本输入搜索输入字段。这很好,但是,在任何文本输入之前,我仍然可以按下键盘上的'Enter'并触发'空白'搜索 - 还有一种方法可以禁用“Enter”键直到某些文本有已经进入?在搜索输入字段为空时停止“输入”键工作

<div class="standard-search-box"> 
    <form class="search-form" action="/search"> 
     <label for="q" id="search-label" class="screen-reader-text">Search</label> 
     <input aria-labelledby="search-label" id="q" type="search" name="q" class="search-field" placeholder="enter search term…" value autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"> 
     <input type="submit" value="Search" class="search-button" disabled="disabled"> 
    </form> 
    </div> 


    (function() { 
    $('input.search-field').keyup(function() { 

     var empty = false; 
     $('input.search-field').each(function() { 
     if ($(this).val() == '') { 
      empty = true; 
     } 
     }); 

     if (empty) { 
     $('input[type=submit]').attr('disabled', 'disabled'); 
     } else { 
     $('input[type=submit]').removeAttr('disabled'); 
     } 
    }); 
    })(); 

任何帮助将不胜感激。

回答

0

我希望下面的可以给你一些指导:

$('#q').bind("keyup keypress", function(e) { 
    var code = e.keyCode || e.which; 
    if (code == 13) {  
     if($(this).val()==''){ 
      e.preventDefault(); 
      return false; 
     } 
    } 
}); 

,并删除您的提交按钮的禁用属性。

Demo

+0

谢谢你,完美的工作。 – user3326054