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>
提交表单
然后,您的表单提交将仅在单击按钮时进行


除非是你想实现的其他目标。

你可以编辑你的原始帖子,而不是在答案中提供更改。这就是解决方案。因此,我将其作为答复提交。这不对吗?