【问题标题】:backbone-forms how do I submit the generated form in Backbone rest?backbone-forms 如何在 Backbone rest 中提交生成的表单?
【发布时间】:2013-07-09 16:22:32
【问题描述】:

我有this use-case(主干形式的官方示例)。
添加提交按钮并使用主干将表单平静地发送到服务器的正确方法是什么?
当表单值绑定到模型时,我想使用主干功能与服务器轻松交谈。

in my use-case

<form id="theForm"></form>

$(function () {
    var Login = Backbone.Model.extend({
        initialize: function () {

        },
        defaults: {
            Email: "",
            Password: ""
        },
        schema: {
            Email: {
                validators: ['required', 'emailj']
            },
            Password: {
                validators: ['required']
            },
        },
    });

    var login = new Login({
        Email: "Your email please",
        Password: "password"
    });

    var form = new Backbone.Form({
        model: login,
    }).render({
        fieldsets: 'fieldsets'
    });
    $('#theForm').append(form.el);
});

【问题讨论】:

    标签: backbone.js backbone-forms


    【解决方案1】:

    通常的方法是创建一个包含提交按钮的“主”主干视图,然后将表单插入其中。然后从您的主视图中处理提交单击事件。这可以通过 form.commit() 在模型上设置它,然后调用 model.save()

    来完成

    【讨论】:

    • 感谢您的回答,因为我对这两种技术都很陌生,您可以将任何更改添加到这个小提琴中,这样我会有很好的参考吗? jsfiddle.net/JDNug/1?再次感谢!
    • 这是一个更新的示例:jsfiddle.net/JDNug/7 请注意,尝试保存时会出错,因为您的 Login 模型没有 url 属性。另一种可能更有意义的方法是更改​​表单模板以包含提交按钮。请参阅主干形式文档。
    • 谢谢你的努力,你能告诉我,我可以把错误信息挂起来放在气球里吗,我的意思是,有没有什么事件可以让我接受信息并做任何事情我要带它吗?再次感谢
    • jsfiddle 示例中出现的错误来自主干本身,而不是主干形式。您需要将 URL 属性添加到模型中才能使其正常工作。不过,您可以在 model.save() 周围放置一个 try/catch 块。对于表单错误,例如验证,您可以通过 form.validate() 获取它们
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多