0

Enter キーを使用して純粋な入力値を送信するにはどうすればよいですか? このような入力フィールドしかありません。アイデアは、ユーザーがEnterキーを押したときにajaxを使用して値を送信することです。

<input class="input-xxlarge search" type="search" name="search" value="" autocomplete="off" placeholder="Search for recipes">

$('.search').submit(function(event){
console.log('Ok');

    var $this = $(this);
    var query = $this.('.search').val();

    if(query.length >= 2 || query.lenght <=24) {
         console.log(query);
    } else {
      // Do not submit the form
      event.preventDefault();
    }
});

入力時に送信するものを取得し、その値を取得するのに問題があります。助けていただけますか?

4

3 に答える 3

3

フォームにはsubmitイベントがありますが、入力にはありません。代わりにイベントを使用してkeyup、AJAX リクエストをトリガーします。

$('.search').on('keyup', function(e) {
    if(e.which === 13) {
        // enter key pressed
        var value = this.value; // this is the inputs value
        $.ajax({
            url: 'your-url',
            data: {
                search: value
            },
            // more options
        }).done(function(response) {
            // do something with the response
        });
    }
});
于 2013-11-05T14:47:42.337 に答える
2

フォームを使用できない理由はありますか?

それを1つの中に入れて、入力の代わりに送信イベントを追加することをお勧めします。

<form action="#" id="your-form">
    <input class="input-xxlarge search" type="search" name="search" value="" autocomplete="off" placeholder="Search for recipes">
</form>

JavaScript:

$('#your-form').submit(function(e) {
    var val = $('.search').val();
    /* your code here */
    e.preventDefault();
});

フィドル: http://jsfiddle.net/mSXk9/

于 2013-11-05T14:48:49.387 に答える