Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干:检查型号是否为';s属性已更改或处于以前的状态_Javascript_Backbone.js_Backbone Events - Fatal编程技术网

Javascript 主干:检查型号是否为';s属性已更改或处于以前的状态

Javascript 主干:检查型号是否为';s属性已更改或处于以前的状态,javascript,backbone.js,backbone-events,Javascript,Backbone.js,Backbone Events,我有一个场景,用户可以更新他/她的个人资料。默认情况下,保存按钮处于禁用状态,仅当用户更改任何字段时才会启用 他有这样的想法: 现在,如果用户更改其名/姓,如下所示: 保存按钮已启用,我将为任何字段更改保持状态。我在这里做的是: firstNameChanged: function(){ this.status = this.model.hasChanged("firstName"); this.model.set("firstName",

我有一个场景,用户可以更新他/她的个人资料。默认情况下,保存按钮处于禁用状态,仅当用户更改任何字段时才会启用

他有这样的想法:

现在,如果用户更改其名/姓,如下所示:

保存按钮已启用,我将为任何字段更改保持状态。我在这里做的是:

firstNameChanged: function(){
            this.status = this.model.hasChanged("firstName");
            this.model.set("firstName",  this.$('#firstName').val());
        },
lastNameChanged: function(){
            this.status = this.model.hasChanged("lastName");
            this.model.set("lastName",  this.$('#lastName').val());
        }
我将模型更改场景处理为:

this.model.on('change', this.enableSaveButton, this);

在用户更改自己的名字/姓氏之前,这一切都很正常,但是当用户将自己的名字更改回以前的名字时,我想禁用保存按钮,在我的情况下,我不知道该怎么做。请建议正确的方法。提前谢谢

您必须将原始名称保存在某个位置,并将任何更改与它们进行比较。主干在这里不能为你做任何自动的事情;你可以想象一个用户在返回到原始值之前做了数百次更改。@StephenThomas,我成功了。谢谢您的帮助:)您如何将表单与模型绑定。。?你们有双向装订吗。。?模型何时/如何更新。。?