【问题标题】: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')...
【解决方案3】:
onAfterRendering: function() {
var self = this;
jQuery("input").on("keydown",
function(evt) {
if (evt.keyCode == 13) {
evt.preventDefault();
self.doStuff(); //your code
}
});
},