ember.js - 使用 Ember.js 编写并提交表单 View

标签 ember.js

我正在制作概念验证演示,我需要编写一个表单 View ,它可以让我将项目添加到我的内容数组中。我从外部加载此 View ,然后使用处理程序对其进行编译。我添加了一个提交方法并使用了 {{action}} 绑定(bind),但每次我单击提交按钮时,它都会重新加载页面。我错过了什么?

//模板

<form>
    <div>
        <label for="client">Client Name</label>
        <input type="text" id="client" placeholder="Add client name" />
    </div>
    <div>
        <button {{action "addClientSubmit" target="PM.addClientView"}}>Add Client</button>
    </div>
    <div>
        <a href="#" {{action "closeWindow" target="PM"}}>close</a>
    </div>
</form>

//查看代码

PM.addClientView = Ember.View.create({
    templateName: 'addClient',
    classNames: 'overlay',
    addClientSubmit: function(e){
        e.preventDefault();
        console.log('submitting add client form');
        console.log(a,b,c)
    }
});

//最后,这是我将其添加到页面的方式

PM = Ember.Application.create({
    loadView: function(view){
        $.ajax({
            url: viewPath,
            success: function (template) {
                if (!Ember.TEMPLATES[templateName]) {
                    Ember.TEMPLATES[templateName] = Ember.Handlebars.compile(template);
                };
                PM[view + 'View'].appendTo('body');
            }
        });
    }
});

其他一切正常,但是当我单击提交按钮时,页面会重新加载。我确信我漏掉了一些东西,但我不知道它是什么。

最佳答案

您可能需要将 type="button" 添加到按钮标记中。默认值为 type="submit" ,它将触发表单提交。

这是一个 jsFiddle:http://jsfiddle.net/b2CTg/2/

关于ember.js - 使用 Ember.js 编写并提交表单 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10883597/

相关文章:

ember.js - ember 组件内存泄漏

javascript - 从 emberjs store.find 获取数据

routing - ember.js 中是否有回调,我可以在状态转换后呈现所有 View 后使用它来运行代码?

ember.js - 如何使用mailto href和bindAttr对属性设置 'a'标签?

javascript - 具有嵌入式 hasMay 关系的 EmberJS RESTSerializer

ember.js - 如何使用 Ember.js 动态添加和删除 View

javascript - Emberjs-data 限制集合

javascript - 使用 ember-upload 上传文件,如何用服务堆栈的附加数据填充请求?

ember.js - 在 Ember 中获取当前路线名称

javascript - 向 Ember 适配器添加动态变量?