在输入密钥上提交textarea的值

时间:2011-08-04 04:35:00

标签: jquery

现在我在jquery中有这个流程:

$('input#search').click(function(){
        $('textarea#people').fadeIn();
        $('input#searchpeople').fadeIn();
        $('input#add').hide();
        $('input#search').hide();
    });

$("#searchpeople").click(function(){
    var people=$("textarea#people").val();
    $.post("searchpeople.php",{people:people},function(result){
     $("div.callback").html(result);
    });
  });

我的简单问题是,当用户按下回车键时,按钮会自动点击,而不是让用户点击搜索按钮。

3 个答案:

答案 0 :(得分:7)

您必须执行以下操作...

  1. 在文本框的按键上,检查“输入密钥”(输入密钥为13)
  2. 如果是,请拨打按钮点击功能
  3. Demo can be found here

        $('input#search').click(function(){
                $('textarea#people').fadeIn();
                $('input#searchpeople').fadeIn();
                $('input#add').hide();
                $('input#search').hide();
            });
        $('input#search').keypress(function(){
           if($(this).keyCode == 13)
           {
               Search();
           }     
        });
    
        $("#searchpeople").click(Search);
    
    
        function Search()
        {
            var people=$("textarea#people").val();
            $.post("searchpeople.php",{people:people},function(result){
             $("div.callback").html(result);
            }
    

答案 1 :(得分:2)

使用keydown事件而非点击事件:http://api.jquery.com/keydown/

答案 2 :(得分:1)

您可以使用form并处理submit事件,而不是处理点击按键操作:

<form>
    <textarea id="people"></textarea>
    <input id="search" type="submit" />
</form>

<script>
    $('form').submit(function () {
        // do stuff
        return false;
    });
</script>