0

ここで検索したところ、同じ質問をしている 3 つまたは 4 つの記事が見つかり、すべての回答を試しましたが、何か非常に間違っているか、jquery で ajax を使用してフォームを送信しています。しかし、基本的には、フォームのキーボードの Enter/Return キーと iPad の [Go] ボタンを無効にしたいと考えています。以下は、私が使用しているフォームの例です

<form class="widget-header rooms">
    <input type="text" placeholder="Type Room name" name="roomName[]" class="form-input add-room-input input-width-xxlarge">
    <input type="hidden" class="roomId" name="roomId[]">
    <input type="hidden" class="inventoryId" name="inventoryId[]" value="<?=$_GET['inventory_id']?>">
    <div class="toolbar no-padding">
        <div class="btn-group">
            <span class="btn saveRoom"><i class="icon-ok"></i> Save Room</span>
        </div>
    </div>
</form>

そしてJavaScript関数など

$('body').on('click', '.saveRoom', function(e) {
    postFormRooms($(this).closest('form.rooms').get(0));
});

// This script saves the room name
    function postFormRooms(form) {
        var $this = $(form);
        var string = $this.serialize();
        $.ajax({
            type: "POST",
            url: "includes/add_room.php",
            data: string,
            cache: false,
            success: function(data){
                var saveIcon = $this.find('.add-room-input');
                $this.find('.roomId').val(data);
                $this.siblings('.toolbar-small').children().children('.addItem').fadeIn();
                $this.siblings('.toolbar-small').children().children('.dropdown-toggle').fadeIn();
                $this.parent().attr('data-parent-room', data);
                saveIcon.addClass('savedField').delay(1000).queue(function() {
                    $(this).removeClass('savedField');
                    $(this).dequeue();
                });
            }
        });
    }

すべてが完全に機能します。これらのボタンを無効にするだけで、機能しません。アイコンを使用して機能をトリガーしているため、送信ボタンなどを使用していないことがわかります。これが私の問題の原因ですか?

4

1 に答える 1