【问题标题】:How to submit a SAPUI5 SimpleForm using the "Enter" key?如何使用“Enter”键提交 SAPUI5 SimpleForm?
【发布时间】:2015-12-24 14:23:51
【问题描述】:

我在 XML 视图中有一个 SimpleForm。当光标位于简单表单中的任何字段内时,我想捕获用户按下“输入”按钮的事件,以便我可以提交表单(实际上我将使用按下“输入”键触发将提交表单的 sap.m.Button 的按下事件)。我搜索了文档,但找不到解决方案。有什么想法吗?

【问题讨论】:

标签: javascript forms sapui5


【解决方案1】:

您可以只使用onsapenter 事件。

const oInput = new sap.m.Input();

oInput.onsapenter = ((oEvent) => {

    alert("onEnter");

});

【讨论】:

    【解决方案2】:

    可以使用输入控件的submit事件:

    <f:SimpleForm
            id="loginForm"
            width="300px"
            maxContainerCols="1"
            editable="true"
            layout="ResponsiveGridLayout"
            class="editableForm">
        <f:content>
            <l:VerticalLayout>
                <Input id="Username" value="{Model>/username}" submit="login"/>
                <Input id="Password" type="Password" value="{Model>/password}" submit="login"/>
                <Toolbar>
                    <ToolbarSpacer/>
                    <Button icon="sap-icon://initiative" text="{i18n>LoginButtonText}" type="Emphasized" press="login"/>
                    <ToolbarSpacer/>
                </Toolbar>
            </l:VerticalLayout>
    
        </f:content>
    </f:SimpleForm>
    

    当然你需要在你的控制器上创建一个函数来处理登录(在这种情况下需要称为'login')...

    【讨论】:

    • @MahdiJ.Ansari 谢谢!
    【解决方案3】:
    onAfterRendering: function() {
               var self = this;
               jQuery("input").on("keydown",
                 function(evt) {
                   if (evt.keyCode == 13) {
                     evt.preventDefault();
                     self.doStuff(); //your code
                   }
                 });
        },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-25
      • 2014-04-04
      • 2011-11-05
      • 2014-03-11
      相关资源
      最近更新 更多