iOS网络应用GO键盘按钮不提交Ajax表单

fis*_*ood 5 ajax jquery jquery-ui iphone-web-app ios5

我有这个iOS网络应用程序,需要通过Ajax提交表单,这在很大程度上是有效的.唯一不起作用的是键盘上的GO按钮没有响应.

在桌面浏览器上,一切都适用于提交(提交按钮或输入密钥)

在Safari iOS上,一切正常(提交按钮,GO键盘按钮)

但是当在iOS上将其用作Web应用程序时,GO按钮不起作用!

什么可能导致这种行为?据我所知,iOS网络应用仍然使用Safari ... :)

<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>
Run Code Online (Sandbox Code Playgroud)

$('#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() {

        }
    });
});
Run Code Online (Sandbox Code Playgroud)

更新(已解决):我已经删除了preventDefault().这不是瓶颈,但我不喜欢不必要的代码.:)

当我添加return false;到我的底部时$('#myForm').submit(function() {,一切都像我想要的一样.

iOS GO按钮,Enter和Submit按钮现在都响应.

Mat*_*her 5

我发现在标签上添加target ="_ blank"会破坏iOS键盘上的Go按钮.


zvo*_*ona 3

您是否尝试过连接“完成/输入”按钮:

$("#myForm input").live("keyup", function(evt) {
  if (evt.keyCode === 13) {
    $("#myForm").trigger("submit");
  }
});
Run Code Online (Sandbox Code Playgroud)