如何使用Backbone.js从表单中获取新的输入文本

时间:2013-02-20 08:00:42

标签: jquery html backbone.js backbone-views

我是网络初学者。我的观点如下:

window.CreateAndEditContactView = Backbone.View.extend({
initialize: function() {
    this.init(); // loads template
},
init: function() {
    var popupWindow = $('body').append(".content"); // I used .content instead of template 
    var saveButton = popupWindow.find('#save_new_contact');
    saveButton.click(function(){

        var emailContact = popupWindow.find('#contact_email').val();
        var nameContact = popupWindow.find('#contact_name').val();
        console.log(emailContact + " : " + nameContact);
    }
}
});

我的HTML看起来像这样:

<div class="content">
    <div class="write_name">
        <span class="name">Name</span>
        <input id="contact_name" type="text"/>
        <img class="avatar" src="/images/avatar2.jpg">
    </div>
    <div class="write_email">
        <span class="name">e-mail</span>
        <input id="contact_email" type="text"/>
    </div>      
        <input type="submit" id="save_new_contact" value="Save"/>
</div>

控制台始终写入相同的值。我无法从<input id="contact_name" type="text"/>获取新值。我做错了什么?

1 个答案:

答案 0 :(得分:1)

记录的值基于popupWindow jquery对象。我建议你直接访问输入值,看看它是否正常工作。这仅用于检查。确保popupWindow持有正确的div元素。