1

送信ボタンの代わりにEnterをクリックしたいのですが、送信ボタンをクリックした場合とまったく同じタスクをjqueryで実行したいと思います。

これは私が持っているものですが、機能していません

jquery

$("#search-friend-text").keypress(function(e){ // start enter click

    switch(e){

        case 13: 
        $.post("<?php echo site_url('userProfile/search_friend'); ?>", 
        $("#add-friend-search").serialize(),
        function(data){
           $("#insert-activity").html(data);
        });

    $("#add-friend-search").slideUp("slow",function(){});
    break;

    }

}); // end enter click

Html(フォーム)

<form method="post" action="" name="searchFriendForm" id="add-friend-search">
<input type="text" id="search-friend-text" name="searchFriendText">
<input type="button" class="small green button" id="add-friend-button" />


</form>
4

6 に答える 6

4

e.keyCodeを使用します:

switch(e.keyCode) {
. .. 
于 2011-04-22T12:52:21.383 に答える
2

まず、Vladが指摘したように、イベントオブジェクトではなく、番号をスイッチに提供する必要があります。次に、1つの番号だけを探す場合は、スイッチ/ケースを使用する必要はありません。これを試して:

$("#search-friend-text").keypress(function(e) { // start enter click
    if (e.which === 13) {
        $.post("<?php echo site_url('userProfile/search_friend'); ?>", $("#add-friend-search").serialize(), function(data) {
            $("#insert-activity").html(data);
        });
        $("#add-friend-search").slideUp("slow", function() {});
    }
}); // end enter click
于 2011-04-22T12:58:23.667 に答える
1

これで解決すると思います

switch(e.keyCode) 

eはイベントハンドラーなので

于 2011-04-22T12:56:32.753 に答える
1

送信イベントを使用する必要があります。

$('#search-friend-text').submit(function() {
    // Ajax stuff...
});
于 2011-04-22T12:53:44.793 に答える
0

キーを押したときに受け取るイベントはイベントオブジェクトであるため、switch/caseステートメントが機能するかどうかはわかりません。$( "target")。keypress(e)を呼び出すだけで、アイテムのキープレスイベントをトリガーできます。ここで、eは、文字キーコードを含むビルドする必要のあるイベントです(設定する必要があります)。 evet.which)

于 2011-04-22T12:52:51.753 に答える
0

さて、jQueryでこの関数を見ることができます:triggerHandler

ただし、実際には、クリックイベントコードを、クリックイベントおよびキープレスイベントから呼び出すことができる別の関数に移動する方がよい場合があります。

于 2011-04-22T12:55:44.117 に答える