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

2

尝试将此添加到您的代码中。

<script>
    $(".widget-header").submit(function(e){
        e.preventDefault();
    });
</script>

干杯。

于 2013-10-05T21:39:34.980 回答