ここで検索したところ、同じ質問をしている 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();
});
}
});
}
すべてが完全に機能します。これらのボタンを無効にするだけで、機能しません。アイコンを使用して機能をトリガーしているため、送信ボタンなどを使用していないことがわかります。これが私の問題の原因ですか?