我正在使用表單來收集數據。一旦用戶點擊提交,就會更新用戶和問題文檔。該功能適用於臺式機,但不適用於移動設備。event.target無法在移動設備上工作
當我對值answer
和wager
進行硬編碼時,它對兩者都有效。這個問題似乎是event.target.wager.value
。我試着把值放在Session
,我試着將它們轉換爲int和字符串。下面
代碼是Main.js
Template.questionCard.events({
'submit form': function(event) {
event.preventDefault();
var questionId = this._id;
var currentUser = Meteor.userId();
// Collects the data from the form when submitted.
// var answer = event.target.play.value;
// var wager = event.target.wager.value;
var answer = "Run";
var wager = 5000;
//Add user data to question
Meteor.call('questionAnswered', currentUser, questionId, answer, wager);
console.log('User: ' + currentUser + ' answered question ' + questionId + ' -- ' + answer + ' ' + wager);
}
下面是questionAnswered
方法調用。
'questionAnswered' : function(user, questionId, answer, wager){
QuestionList.update(questionId, {$push: {usersAnswered: user}});
console.log(user + " answered " + questionId)
console.log("User wagered " + wager + " coins.");
Meteor.users.update({_id: user}, {$inc: { "profile.coins": -wager}});
//Add question, wager and answer to the user's account.
Meteor.users.update({ _id: user}, {$push: {questionAnswered: { questionId: questionId,
wager: wager, answered: answer}}});
console.log(user + " answered " + answer);
//Update the question with the users answer and wager.
if (answer == "Run"){
QuestionList.update(questionId, {$push: { usersRun: {userID: user, amount: wager } }});
} else if (answer == "Pass"){
QuestionList.update(questionId, {$push: {usersPass: {userID: user, amount: wager}}});
} else if (answer == "Fumble"){
QuestionList.update(questionId, {$push: {usersFumble: {userID: user, amount: wager}}});
} else if (answer == "Interception"){
QuestionList.update(questionId, {$push: {usersInterception: {userID: user, amount: wager}}});
}