【问题标题】:Iphone default KeyBoard "Go" button action not working with PhoneGapIphone 默认键盘“开始”按钮操作不适用于 PhoneGap
【发布时间】:2012-07-08 19:48:24
【问题描述】:

我正在使用 PhoneGap 1.8.1 在 Iphone 中构建应用程序。

我有一个登录窗口(下面附上屏幕截图)。

有两个html文本框(一个用于输入用户名,另一个用于输入密码)和一个登录按钮用于登录。

我可以使用下面的代码通过我的登录按钮成功登录。

<input type="button" value="Login" id="btnSubmit" class="blueButton" data-role="none"/>

$("#btnLogin").click(function(){  

    var username = $("#txtUsername").val(); 
    var password = $("#txtPassword").val();
           //do login actions ….
});

当用户点击 iPhone 键盘“开始”按钮时,我必须触发相同的登录功能。 但是,当用户点击 iOS 默认键盘“开始”按钮时,我无法触发登录按钮操作。

我可以知道如何在 PhoneGap 中注册/触发键盘“Go”按钮事件。

我在Overloading the IPhone “GO” button找到了相关帖子

但是我没有找到任何好的答案。

感谢您对此问题的任何帮助。

谢谢。

【问题讨论】:

  • 尝试将您的按钮类型更改为submit,或者您也可以捕获表单提交事件而不是按钮单击事件
  • 感谢您的快速回复...让我检查一下
  • 这两个选项你都试过了吗??还是哪一个??
  • 我已经完成了代码pastebin.com/2tbfEft1 但是 login() 没有触发...
  • 你的代码在我当前的cordova 1.7.0设置中看起来和工作正常,现在用1.8.1检查

标签: iphone objective-c button cordova keyboard


【解决方案1】:

尝试将您的按钮设为submit

<input type="submit" value="Login" id="btnSubmit" class="blueButton" data-role="none"/>

或者在表单提交时绑定事件

$("#loginForm").form(function(){  
    // do event prevention if required

    var username = $("#txtUsername").val(); 
    var password = $("#txtPassword").val();
           //do login actions ….
});

虽然这个问题似乎与 Phonegap (Cordova) 无关,因为它在浏览器中也应该可以正常工作。

【讨论】:

    【解决方案2】:

    我有一个类似的问题,但无法将我的按钮更改为提交 - 我使用的是点击 img 时的触发器。

    但是我发现即使没有提交按钮,你仍然可以注册用户点击“GO”按钮触发的表单提交,然后做你需要做的事情。

    $(document).on('submit', ".search-form", function(){
         runSearch(inputs);                                
    });
    

    我不确定如果您在一个页面上有多个表单会发生什么,但这适用于单个表单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      相关资源
      最近更新 更多