流星模板输入值未定义

时间:2015-07-29 05:34:26

标签: jquery meteor meteor-blaze

我正在使用模态注册对话框在Meteor中创建一个应用程序。出于某种原因,输入文本框(用户名,密码和电子邮件)的值经常未定义。 以下是模板:

    <template name="modalLogin">
         <div id="myModal" class="modal fade in" role="dialog" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
                       <h4 class="modal-title">Login to create your own lists</h4>
                    </div>
                    <div class="modal-body">
                        <form id="signup-form">
                                <label for="create-user-username">User Name</label>
                                <input type="text" id="create-user-username">
                                <label for="create-user-email">Email</label>
                                <input type="text" id="create-user-email" >    
                                <label for="create-user-password">Password</label>
<input type="password" id="create-user-password">
                               <input type="submit" value="Sign Up!">
                        </form>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-default close-btn" data-dismiss="modal">Close</button>
                    </div>
                </div>

            </div>
        </div>
    </template>

以下是模板事件处理程序的代码(为简洁起见,删除了一些代码):

Template.modalLogin.events({
    'submit #signup-form': function (evt, template) {
        evt.preventDefault();
        evt.stopPropagation();
        console.log(template);
        var username = template.$('#create-user-username').val(); 
        var email = template.$('#create-user-email').val();
        var password = template.$('#create-user-password').val();
        console.log('username = ' + username);    //undefined
        console.log('email = ' + email);          //undefined
        console.log('password = ' + password);    //undefined  
    }
});

我不知道为什么会这样,因为这里没有什么复杂的。此外,它确实有时非常混乱。

1 个答案:

答案 0 :(得分:0)

试试这个:只需为输入元素调用jquery

var username = $('#create-user-username').val(); 
var email = $('#create-user-email').val();
var password = $('#create-user-password').val();

注意: - 在调用此代码之前,请确保包含jquery库。另外,请确保在页面中的DOM结构中有唯一的输入字段ID。

相关问题