gpt4 book ai didi

javascript - Meteor 用户添加表单没有执行任何操作?

转载 作者:行者123 更新时间:2023-12-03 09:18:16 24 4
gpt4 key购买 nike

所以我制作了自己的用户添加表单,以便只有登录的用户才能添加新用户。这是我的 Jade :

template(name="userAdd")
.sixteen.wide.column
h1 Add new user
form#userAddForm.ui.form
.field.required
label(for="username") Username:
input(type="text" name="username")#username
.field.required
label(for="email") Email:
input(type="email" name="email")#email
.field.required
label(for="password") Password:
input(type="password" name="password")#password
.field.required
label(for="realname") Real Name:
input(type="text" name="realname")#realname
.field.required
label(for="bio") Bio:
textarea(rows="3" name="bio")#bio
button(type="submit")#usersubmit.ui.button.primary Submit

和 JavaScript:

Template.userAdd.events({
'click #usersubmit': function (evt) {
Accounts.createUser({
username: $('input #username').val(),
email: $('input #email').val(),
password: $('input #password').val(),
profile: {
realname: $('input #realname').val(),
bio: $('input #bio').val()
}
})

Router.go('/')
}
})

出于某种原因,这只会将我重定向回同一页面,并且不会执行任何操作,甚至在开发控制台中也不会显示任何内容。我做错了什么?

最佳答案

因为它实际上是在提交表单。您需要停止提交表单。使用以下代码。

Template.userAdd.events({
'submit form': function(event){
event.preventDefault();

Accounts.createUser({
username: event.target.username.value,
email: event.target.email.value,
password: event.target.password.value,
profile: {
realname: event.target.realname.value,
bio: event.target.bio.value
}
});

Router.go('/');
}
});

请注意,我使用 event.target.inputName.value,这是在 Meteor 中处理表单数据的最佳实践方法。

关于javascript - Meteor 用户添加表单没有执行任何操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31908370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com