【发布时间】:2016-07-08 10:00:43
【问题描述】:
我使用paper-input 字段的表单在按 chrome 中的 enter 键时未提交。但是,在所有其他浏览器中按 enter 时,它确实会提交。以下是相关代码:
<form [ngFormModel]="loginForm">
<paper-input type="text"
ngControl="username"
label="Username"
auto-validate
pattern="{{usernameValidation.get()}}"
maxlength="20"
error-message="Alphanumeric and underscore characters only. [1-20]"
ngDefaultControl>
<iron-icon suffix icon="account-circle"></iron-icon>
</paper-input>
<paper-input type="password"
ngControl="password"
label="Password"
auto-validate
pattern="{{passwordValidation.get()}}"
maxlength="60"
error-message="Long passwords only. [8-60]"
ngDefaultControl>
<iron-icon suffix icon="fingerprint"></iron-icon>
</paper-input>
<paper-input type="submit"
value="Log In"
(click)="submit()"
[disabled]="!loginForm.valid || loading"
ngDefaultControl>
</paper-input>
</form>
我尝试使用ngSubmit 将submit() 函数调用移动到表单元素,并尝试在表单中添加隐藏的标准提交输入以欺骗Chrome 提交,但没有成功。我还尝试使用标准的input 元素以及button。任何输入将不胜感激。谢谢!
如果有人想解释否决票,我很乐意修改我的问题。
【问题讨论】:
-
我认为这是因为
<paper-input type="submit"元素。我不知道聚合物或它是什么,但你可以尝试让它键入按钮 -
感谢@GordonFreeman 的建议,但我认为此错误与 Polymer 有关,因为没有其他元素类型起作用。
标签: javascript forms polymer form-submit keypress