首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Angular-用户界面$dialog和按enter键提交表单

Angular-用户界面$dialog和按enter键提交表单
EN

Stack Overflow用户
提问于 2013-07-09 22:43:27
回答 2查看 9K关注 0票数 18

在我看来,在AngularJS中处理对话框中的Enter键的推荐方法是在对话框中放置一个标记和一个提交按钮。

这很合理,但是如果您使用Angular-UI和他们的$dialog服务,当按enter键时,表单将静默关闭。没有办法截获它。即使您将处理程序附加到ng-click或ng-submit,表单也只会关闭,而不返回任何结果。

还有什么我需要做的吗?

编辑

解决了这个问题,我必须明确指定我的“取消”按钮是“按钮”类型。看起来默认是“提交”吗?

因此,除了我的html表单技能之外,没有什么真正的问题:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-22 21:06:45

来回答我自己的问题。按钮似乎默认为提交(?)如果我显式地将它们设置为type=“按钮”,那么当在表单输入字段中按enter时,它们将不会触发回发。

代码语言:javascript
复制
<form>
     <input type="text" ... />
     <button type="button" ng-click=...>Cancel</button>
     <button type="submit" ng-click=...>OK</button>
</form>

这样,在输入字段中按enter键将触发OK按钮的ng-click。

正如你们html黑客已经理解的那样,这与对话框或angularjs无关,这是一个html表单问题和我缺乏web技能……

票数 31
EN

Stack Overflow用户

发布于 2019-06-06 14:23:43

我相信这是因为您的"CLOSE“按钮没有设置为type=" button ",我认为这是第一个具有焦点的元素,因此当按enter时,您将输入该按钮,默认情况下,该按钮将提交表单。添加按钮“type=”就可以解决这个问题了。

同样为了记录,最新版本的angular material默认有md-type=自动添加按钮“type=”(除非你指定“提交”),以避免这种情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17551220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档