我在这里搜索过,发现 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();
});
}
});
}
一切正常,我只需要禁用这些按钮,我无法让它工作。您可以看到我没有使用提交按钮或任何东西,因为我使用图标来触发功能。这会导致我的问题吗?