2015-05-13 8 views
5

Ich arbeite durch Davids Tutorial auf Meteor um http://meteortips.com/.Meteor/MongoDB: Integer statt String auf Formular einfügen submit

Wie füge ich eine Ganzzahl anstelle von Zeichenfolge in das Formular einreichen?

Ich denke, die folgende Zeile muss klarstellen, dass es eine ganze Zahl ist, aber ich bin mir nicht sicher, wie.

var playerScoreVar = event.target.playerScore.value; 

Hier ist mein ganzer Code.

Template.addPlayerForm.events({ 

    'submit form': function(event){ 
     event.preventDefault(); 
     var playerNameVar = event.target.playerName.value; 
     var playerScoreVar = event.target.playerScore.value; 
     PlayersList.insert({ 
      name: playerNameVar, 
      score: playerScoreVar, 
     }); 
     event.target.playerName.value = "" 
     event.target.playerScore.value = "" 
    } 
}); 

Antwort

4

konvertieren Sie es einfach auf eine ganze Zahl vor dem insert:

var playerScoreVar = parseInt(event.target.playerScore.value, 10); 

oder

var playerScoreVar = Number(event.target.playerScore.value); 

Sie die Unterschiede here erklärt sehen können;

+0

Danke, was bedeutet die 10 am Ende dieser Zeile? Und warum kann ich nicht einfach 'Int' irgendwo in diese Zeile schreiben und damit fertig sein? : D –

+1

Es ist die Radix (Basis). Siehe [docs] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt). –

+0

Haben Sie es, also muss ich entweder parseInt oder sicherstellen, dass sie nur Zahlen in das Formularelement an erster Stelle setzen. Vielen Dank. –

Verwandte Themen