0

我以前从未使用过backbone.js,我正在尝试使用backbone-forms 创建一个表单,当调用它的提交函数并更新模型时,它只更新模型中的某些字段和/或从表单计算值字段放在模型的不同字段中。

这是我的代码中的一个示例。

queryForm = new Backbone.Form({
        模型:查询模型,
        submitButton: "提交",
        架构:{
            开始日期:{类型:'文本',标题:“日期”},
            收音机范围:{类型:“收音机”,
                标题:“日期方法”,
                选项:{ value1:“开始和结束”,value2:“分钟范围”}},

            end_date:{类型:'文本',标题:“范围(分钟)”},
            firewall_ip: { type: 'Text', title: "防火墙 IP" },
            firewall_port: { type: 'Text', title: "防火墙端口" }
        }

    })。使成为();

当用户将单选更改为“分钟范围”时,我想将 start_date 框更改为日期框,并让 end_date 框成为范围。当使用 commit 函数提交表单时,我仍然想使用日期和范围来创建实际放入模型中的开始和结束日期,而不是它当前所做的,即放入什么的值直接在模型中的框。实现这一目标的最佳方法是什么?我应该重写这个特定类的提交函数吗?还是我不应该使用主干形式而只使用带有模板和事件的主干?

4

1 回答 1

1

是的,覆盖表单实例的 commit() 方法应该可以工作。否则,您也可以覆盖 getValue() 方法。

在根据其他值更改更改输入方面,自述文件中有一个演示链接。

于 2015-01-15T08:41:46.927 回答