Javascript Ember.js表单即时提交
在我将操作放在表单标签(Javascript Ember.js表单即时提交,javascript,jquery,ember.js,Javascript,Jquery,Ember.js,在我将操作放在表单标签()中之后,我发现如果当前输入字段失去焦点,表单总是被提交的 如果这是故意的行为,我如何避免 App.AccountRegisterController = Ember.ObjectController.extend({ title: 'Registrieren', content: [], actions: { registerAccount: function () { var newAccount =
)中之后,我发现如果当前输入字段失去焦点,表单总是被提交的
如果这是故意的行为,我如何避免
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'}}>
<form {{action 'registerAccount' on='submit'}}>
我的坏习惯。用以下内容替换前面提到的操作帮助器:
<form {{action 'registerAccount' on='submit'}}>
<form {{action 'registerAccount' on='submit'}}>
通过添加
,表单中的每次单击都会调用注册表帐户
功能,例如在输入字段中单击以输入文本时
通过使用on
属性指定DOM事件类型submit
,应为类型为submit的click事件调用registerAccount
函数,这意味着仅用于输入默认类型为type=submit
或button
的元素
如果您可以发布AccountRegisterView
的把手模板,这将有所帮助
我建议将您的{{action}
助手放在按钮元素中,即
<button {{action 'registerAccount'}}>submit form</button>
提交表单
然后,您的表单提交将仅在单击按钮时进行
除非是你想实现的其他目标。你可以编辑你的原始帖子,而不是在答案中提供更改。这就是解决方案。因此,我将其作为答复提交。这不对吗?