将动作放在表单标记(<form {{action 'registerAccount'}}>
)中后,我发现如果当前输入字段失去焦点,表单总是会被提交。
如果是预期行为,我该如何避免这种情况?
App.AccountRegisterController = Ember.ObjectController.extend({
title: 'Registrieren',
content: [],
actions: {
registerAccount: function () {
var newAccount = this.get('store').createRecord('account', {
email: this.get('email'),
password: this.get('password'),
isNewsletterSubscribed: this.get('isNewsletterSubscribed')
});
newAccount.save();
}
}
});
修改:
我的坏。用以下内容替换前面提到的动作助手:
<form {{action 'registerAccount' on='submit'}}>
答案 0 :(得分:2)
通过添加<form {{action 'registerAccount'}}>
,您的表单内的每次点击都会调用registerAccount
函数,例如在输入字段内部单击以输入文本时。
通过使用submit
属性指定DOM事件类型on
,应该为提交类型的点击事件调用registerAccount
函数,这意味着仅输入{{1} }或type=submit
默认为button
的元素。
如果您可以发布type=submit
。
我建议将你的AccountRegisterView
助手放在你的按钮元素中,即
{{action}}
然后,只有在单击按钮时才会进行表单子目录。
除非你想要实现其他目标。
答案 1 :(得分:1)
我的坏。用以下内容替换前面提到的动作助手:
<form {{action 'registerAccount' on='submit'}}>