2015-05-19 70 views
2

我正在使用表單來收集數據。一旦用戶點擊提交,就會更新用戶和問題文檔。該功能適用​​於臺式機,但不適用於移動設備。event.target無法在移動設備上工作

當我對值answerwager進行硬編碼時,它對兩者都有效。這個問題似乎是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}}}); 
    } 

回答

0

發現了Jimmy Mian-Guan Lim的評論here。使用無線電輸入和組的名稱來查找選中的選項。然後返回值。

var answer = template.find('input:radio[name=play]:checked').value; 
    var wager = template.find('input:radio[name=wager]:checked').value; 
0

嘗試使用event.currentTarget來代替。

流星似乎工作得更好一點。

相關問題