Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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 此.model.set未定义_Javascript_Html_Backbone.js - Fatal编程技术网

Javascript 此.model.set未定义

Javascript 此.model.set未定义,javascript,html,backbone.js,Javascript,Html,Backbone.js,我试图从一个表单创建一个模型,当我运行它并将数据放入表单时,我得到一个错误消息 uncaught typeError: cannot call method 'set' of undefined 我在其他视图中使用了这种方法,并且我进行了双重和三重检查,确保所有内容都是相同的,有人能看到我做错了什么吗 功能: this.model.set({ fname: $('#fname').val(), lname: $('#lname').val(), email: $('#e

我试图从一个表单创建一个模型,当我运行它并将数据放入表单时,我得到一个错误消息

uncaught typeError: cannot call method 'set' of undefined
我在其他视图中使用了这种方法,并且我进行了双重和三重检查,确保所有内容都是相同的,有人能看到我做错了什么吗

功能:

this.model.set({
    fname: $('#fname').val(),
    lname: $('#lname').val(),
    email: $('#email').val(),
    password: $('#password').val(),
    mobile: $('#mobile').val()
});
console.log('test');
this.model.create(this.model, {
    success: function(){
        $('#step-1').css({'display':'none'});
        $('#step-2').css({'display':'initial'});
        $("#circle-1").removeClass("btn-primary").addClass("btn-default");
        $("#circle-2").removeClass("btn-default").addClass("btn-primary");
    }
});
 <form class="form-horizontal">
            <fieldset> 
                <!-- full-name input-->
                <div class="control-group">
                    <br>
                    Step 1
                    <br>
                    <label class="control-label">First Name</label>
                    <div class="controls">
                        <input id="fname" name="fname" type="text" placeholder="first name">
                        <p class="help-block"></p>
                    </div>
                </div>
                  <div class="control-group">
                  <label class="control-label">Second Name</label>
                    <div class="controls">
                        <input id="lname" name="lname" type="text" placeholder="second name">
                        <p class="help-block"></p>
                    </div>
                </div>


                   <div class="control-group">
                    <label class="control-label">E-mail</label>
                    <div class="controls">
                        <input id="email" name="email" type="text" placeholder="E-mail"
                       >

                    </div>
                </div>

                 <div class="control-group">
                    <label class="control-label">Mobile</label>
                    <div class="controls">
                        <input id="mobile" name="mobile" type="text" placeholder="Mobile"
                        >

                    </div>
                </div>

                <div class="control-group">
                    <label class="control-label">Password</label>
                    <div class="controls">
                        <input id="password" name="password" type="password" placeholder="Password"
                       >

                    </div>
                </div>

                   <div class="control-group">
                    <label class="control-label">Retype Password</label>
                    <div class="controls">
                        <input id="Rpassword" name="Rpassword" type="password" placeholder="Retype Password"
                       >

                    </div>
                </div>




            </fieldset>
        </form>
HTML:

this.model.set({
    fname: $('#fname').val(),
    lname: $('#lname').val(),
    email: $('#email').val(),
    password: $('#password').val(),
    mobile: $('#mobile').val()
});
console.log('test');
this.model.create(this.model, {
    success: function(){
        $('#step-1').css({'display':'none'});
        $('#step-2').css({'display':'initial'});
        $("#circle-1").removeClass("btn-primary").addClass("btn-default");
        $("#circle-2").removeClass("btn-default").addClass("btn-primary");
    }
});
 <form class="form-horizontal">
            <fieldset> 
                <!-- full-name input-->
                <div class="control-group">
                    <br>
                    Step 1
                    <br>
                    <label class="control-label">First Name</label>
                    <div class="controls">
                        <input id="fname" name="fname" type="text" placeholder="first name">
                        <p class="help-block"></p>
                    </div>
                </div>
                  <div class="control-group">
                  <label class="control-label">Second Name</label>
                    <div class="controls">
                        <input id="lname" name="lname" type="text" placeholder="second name">
                        <p class="help-block"></p>
                    </div>
                </div>


                   <div class="control-group">
                    <label class="control-label">E-mail</label>
                    <div class="controls">
                        <input id="email" name="email" type="text" placeholder="E-mail"
                       >

                    </div>
                </div>

                 <div class="control-group">
                    <label class="control-label">Mobile</label>
                    <div class="controls">
                        <input id="mobile" name="mobile" type="text" placeholder="Mobile"
                        >

                    </div>
                </div>

                <div class="control-group">
                    <label class="control-label">Password</label>
                    <div class="controls">
                        <input id="password" name="password" type="password" placeholder="Password"
                       >

                    </div>
                </div>

                   <div class="control-group">
                    <label class="control-label">Retype Password</label>
                    <div class="controls">
                        <input id="Rpassword" name="Rpassword" type="password" placeholder="Retype Password"
                       >

                    </div>
                </div>




            </fieldset>
        </form>


第一步
名字

第二个名字

电子邮件 可移动的 密码 重新输入密码
仅当您向视图提供了模型时,此.model
才有效,但情况似乎并非如此。相反,您似乎想要创建一个新模型:

var model = new MyModel({
    fname: $('#fname').val(),
    lname: $('#lname').val(),
    email: $('#email').val(),
    password: $('#password').val(),
    mobile: $('#mobile').val()
});
console.log('test');
model.save({
    success: function(){
        $('#step-1').css({'display':'none'});
        $('#step-2').css({'display':'initial'});
        $("#circle-1").removeClass("btn-primary").addClass("btn-default");
        $("#circle-2").removeClass("btn-default").addClass("btn-primary");
    }
});

这是您所期望的吗?你在实例化视图时是否发送了一个
模型:什么东西?@muistooshort不,我不是在发送一个实例化视图的模型,是吗,是否可以在视图中创建模型?那么您是否希望视图从中获取其
model
属性?您是否可能缺少像
this.model=new Backbone.model()这样的第一条语句?能否向我们展示您的整个视图代码以及如何实例化它