約會應用程式是用 MeteorJS 構建的,每當我嘗試提交此表單以注冊用戶時,頁面都會重繪 。此外,Meteor.user().services.twitter.profile_image_url似乎沒有獲得 Twitter 影像。請幫忙
進口/ui/components/partials/register-user.html
<template name="registerUser">
<div >
<form id="user-form">
<div >
<label for="gender">gender</label>
<select id="gender">
<option value="cis man">cis man</option>
<option value="cis woman">cis woman</option>
<option value="non binary" selected>non binary</option>
<option value="trans man">trans man</option>
<option value="trans woman">trans woman</option>
</select>
</div>
<div >
<label for="prefer">seeking</label>
<select id="prefer">
<option value="cis men">cis men</option>
<option value="cis women">cis women</option>
<option value="everyone" selected>everyone</option>
<option value="non binary">non binary</option>
<option value="trans women">trans women</option>
<option value="trans men">trans men</option>
</select>
</div>
<div >
<button type="submit" form="user-form">register</button>
</div>
</form>
</div>
</template>
進口/ui/components/partials/register-user.js
import { Meteor } from 'meteor/meteor';
import { Session } from 'meteor/session';
import './register-user.html';
Template.registerUser.onCreated(function () {
this.register_name = Meteor.user().profile.name;
this.register_img = Meteor.user().services.twitter.profile_image_url;
});
Template.registerUser.events({
'submit .register-user' (event) {
event.preventDefault();
var gender = event.target.gender.value;
var prefer = event.target.prefer.value;
if (confirm("by continuing you verify you are a minimum of 21 years old")) {
Meteor.call('register.user', this.register_name, "", gender, prefer, (error) => {
if (error) {
Flash.danger(error.error, 3000);
} else {
Session.set({'complete': true});
}
});
}
},
});
進口/api/methods.js
...
'register.user': function(name, img, gender, prefer) {
RegisteredUsers.insert({ _id: this.userId, complete: true, role: false });
Profiles.insert({
_id: this.userId, name: name, img: img, gender: gender, prefer: prefer, address: "", right: [], matches: [],
});
// redisCollection.hset(this.userId, { "name": name, "img": img, "gender": gender });
},
...
uj5u.com熱心網友回復:
您的示例顯示事件映射錯誤:
'submit .register-user' (event) {
您使用了按鈕的類映射,但提交事件來自表單。然后將其更改為:
'submit #user-form' (event) {
uj5u.com熱心網友回復:
我認為問題是因為您將提交事件映射到具有register-user類的按鈕。嘗試更改您的代碼以參考提交事件來自的表單。您可以使用其 id ( user-form ) 來執行此操作。
它會是這樣的:
'submit #user-form'(event) {
event.preventDefault();
...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/373247.html
