javascript - 如何阻止 SAPUI5 按钮提交表单
问题描述
我有一个带有表格和按钮的简单 mytable.view.xml。该表只是表单中的一个,所有表都通过不同的 view.xml 处理。
<mvc:view>
<l:VerticalLayout>
//Code for table headers and table
</l:VerticalLayout>
<Button id="myButton" text="test" visible="true" press="onMyButtonClicked"/>
</mvc:view>
控制器:
onMyButtonClicked: function(){
window.location.href = "http://example.com/;
}
当我点击按钮时,onMyButtonClicked 被调用,但它被表单提交覆盖。由于没有处理此提交的逻辑,因此页面只是重新加载而不是导航到http://example.com/。在浏览器的开发人员工具中,我注意到导航到 example.com 被触发并被取消。我尝试并工作的一件事是检查浏览器上的这个按钮并onclick="return false;"
在按钮标签中添加一个。但是从 sap.m.button 我不能这样做。尝试过 event.PreventDefault()。这也不起作用。
有没有其他方法可以阻止此按钮的行为类似于提交按钮?
解决方案
如果按下事件未绑定,则按钮不会触发任何内容。对于您的情况,为什么不将新闻事件绑定删除到回调?我错过了什么吗?UI5 按钮的行为与表单内“提交”类型的 HTML 按钮不同。
推荐阅读
- node.js - 从电子商务平台的搜索结果中抓取 Nodejs 网页
- reactjs - 即使在使用 Hooks 刷新 ReactJS 后也能获取最后一个状态
- google-apps-script - 仅当 4 个不同列上的值为真时,Google 工作表脚本才用复选框替换真值
- python-3.x - django无需插件即可上传多个文件
- ruby - NameError - 统一常量 - 仅在生产中
- ios - iOS渐变填充文字动画
- ansible - ansible 循环哈希,“项目”未定义
- laravel - 作曲家在 laravel 8 中需要 yajra/laravel-oci8:^8
- react-native - 如何从 react-native 中的资产文件夹中读取文件?
- javascript - 在 React 中显示/隐藏行(棘手的概念)