Tôi có ứng dụng web iOS này, cần gửi biểu mẫu thông qua Ajax, hoạt động cho hầu hết các phần. Điều duy nhất không hoạt động là nút GO trên bàn phím không phản hồi.Nút web GO của ứng dụng web iOS không gửi biểu mẫu Ajax
Mở trình duyệt máy tính để bàn, mọi thứ hoạt động nộp (nút gửi, hoặc phím enter)
Mở Safari iOS, tất cả mọi thứ hoạt động tốt quá (nút gửi, GO nút bàn phím)
Nhưng khi sử dụng nó như là một Ứng dụng web trên iOS, nút GO không hoạt động!
Điều gì có thể gây ra hành vi này? Một ứng dụng web iOS vẫn sử dụng Safari như xa như tôi biết ... :)
<form id="myForm" name="form" action="link-to-script.php" method="post">
<table>
<tr>
<td><input id="name" name="name" type="text" size="20" maxlength="25" /></td>
</tr>
<tr>
<td><input id="email" name="email" type="text" size="20" maxlength="50" /></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Send" /></td>
</tr>
</table>
$('#myForm').submit(function(e) {
e.preventDefault(); // Doesn't matter
var dataString = $(this).serialize();
$.ajax({
type: "POST",
url: "http://link-to-script.php?", // Valid link for the use of this form
cache: false,
data: dataString,
success: function() {
}
});
});
UPDATE (SOLVED): Tôi đã gỡ bỏ các preventDefault()
một lần nữa. Nó không làm tắc nghẽn tôi, nhưng tôi không thích mã không cần thiết. :)
Khi tôi thêm return false;
ở cuối số $('#myForm').submit(function() {
, mọi thứ hoạt động như tôi muốn.
Nút GO, nút Enter và Submit trên iOS tất cả đều phản hồi ngay bây giờ.
Xin cảm ơn, nhưng nếu tôi đặt mã đó trước mã gửi biểu mẫu của tôi, nó sẽ không tạo sự khác biệt. Thật lạ khi nó KHÔNG hoạt động khi được xem bên trong ứng dụng Safari (ngay cả khi không có đoạn mã của bạn), nhưng không phải khi sử dụng nó làm ứng dụng web (được thêm vào màn hình chính). – fishbaitfood