我正在使用表单来收集数据。一旦用户点击提交,就会更新用户和问题文档。该功能适用于台式机,但不适用于移动设备。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}}});
}