Ember.js表格即时提交

时间:2013-12-31 11:28:59

标签: javascript jquery ember.js

将动作放在表单标记(<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();
        }
    }
});

enter image description here

修改

我的坏。用以下内容替换前面提到的动作助手:

<form {{action 'registerAccount' on='submit'}}>

2 个答案:

答案 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'}}>