2014-03-04 39 views
0

我试图创建形状的模型,当我运行它,并把数据转化为形式我得到一个错误说骨干this.model.set不确定

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"); 
    } 
}); 

HTML:

<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> 
+1

“this”你期望它是什么?在实例化视图时,你是否在发送'model:something'? –

+0

@ muistooshort没有即时通讯不发送实例化视图的模型,我必须,可以在视图中创建模型吗? – Bawn

+0

那你期望视图能从它的'model'属性中获取吗? –

回答

1

this.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"); 
    } 
});