【问题标题】:How to Submit page when 'Enter' pressed on autocomplete field在自动完成字段上按下“Enter”时如何提交页面
【发布时间】:2012-11-13 02:02:27
【问题描述】:

我的页面上有许多带有提交按钮的自动完成字段。我知道在文本字段中有一个名为“按下 Enter 时提交”的选项,它可以正常工作,但是此选项在这些字段中不可用。

我看过其他几个论坛帖子,这个我觉得我几乎解决了它但是当我按下任何键时触发的动作是错误的..

https://forums.oracle.com/forums/thread.jspa?threadID=2425583

有人可以帮忙吗?如何使用自动完成字段在输入时提交页面?

<script type="text/javascript" src="#APP_IMAGES#jquery-1.8.2.min.js">  
$('#P2_DOOR_NUMBER').keyup(function(e) {  
if (e.keyCode == '13')  
    $('#P2_GO').trigger('click');  
});  
</script>  
  • Oracle 版本:Oracle 版本 10.2.0.4.0
  • 完整的 APEX 版本:Application Express 4.1.1.00.23
  • 使用的浏览器和版本:Internet Explorer 7 & 8
  • 主题:简单红色模板:带有简单红色主题的标准模板。

【问题讨论】:

    标签: oracle-apex


    【解决方案1】:

    你不能简单地使用 JQuery 来绑定你的输入字段吗? :

    $('#YOUR_ITEM_ID').keyup(function (e) {
        if (e.keyCode === 13) {
            apex.submit({...});
        }
    });
    

    当然你可以使用动态动作来做到这一点。

    【讨论】:

    • 这类似于我尝试但未能正常工作的以下帖子。 - stackoverflow.com/questions/9937791/…当我尝试它时,它会在每次击键时触发,而不仅仅是在输入时触发,它永远不知道何时按下 Enter,因此返回值始终为 false。
    • 你确定你的代码写对了吗,我用了很长时间,它在所有主流浏览器上都能正常工作。使用if (e.keyCode === 13) 它应该只在按下回车时提交。也许在 IE 上你可能会遇到一些问题,请参阅link。如果它仍然无法正常工作,也许您可​​以向我们展示一些代码?
    • 我想我一定是做错了什么。我通过以下链接添加了 JQuery:oracleapplicationexpress.com/tutorials/66 然后在 HTML 标题中我添加了以下代码(在初始帖子中更新)
    • 我已经开始工作了。我使用动态动作来保持 JQuery 并实现梦想,谢谢 :-)
    • 由于您使用的是APEX 4.1,JQuery 应该默认加载,您不需要再次加载它。而且您不应该使用 if (e.keyCode == '13') 而是使用 if (e.keyCode === 13) !这可能是您的问题的根源,e.keyCode 不是字符串, == 可以节省您,因为它会进行隐式转换。严格的相等运算符总是首选。
    猜你喜欢
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    相关资源
    最近更新 更多