2017-02-20 8 views
-1

Je souhaite convertir une chaîne d'ID d'entrée en nombre entier. Je teste ces fonctions de js, malgré que getPrice fonctionne, getQty me donne "undifine" au lieu d'un nombre. Qu'est-ce qui ne va pas?Comment convertir une chaîne en entier dans une fonction?

function getPrice() { 
var price = document.getElementById("priceTshirt").innerHTML; 
document.getElementById("total-1").innerHTML = price; 
} 

getPrice(); 


function getQty() { 
var qty = document.getElementById("qty1").innerHTML; 
document.getElementById("demolish").innerHTML = qty; 
qty = qty.parseInt; 
} 

getQty(); 
+1

'qty = parseInt (qté)' ou mieux encore 'qty = + qty'. 'parseInt' est une fonction * globale *, pas une propriété d'une chaîne ... – Li357

+1

Gardez à l'esprit les différences entre' parseInt() 'et' new Number() ': https://stackoverflow.com/questions/4090518/what-is-the-difference-between-parseint-and-number –

+0

@AndrewLi qui a du sens, j'ai oublié de l'ajouter à lui-même, sinon je vais changer sa valeur à rien du tout, ou dans ce cas undefined. Je vais essayer maintenant et vous le faire savoir. – randseed1724

Répondre

1

Qty1 est un élément d'entrée, il ne possède pas innerHTML. Vous devriez obtenir la valeur à la place:

function getQty() { 
    var qty = document.getElementById("qty1").value; 
    document.getElementById("demolish").innerHTML = qty; 

    return qty; 
} 

et vous pouvez définir le prix total en utilisant la quantité retournée par la fonction getQty:

function getPrice() { 
    var price = parseInt(document.getElementById("priceTshirt").innerHTML); 
    document.getElementById("total-1").innerHTML = price * getQty(); 
} 
+0

Merci, je vais essayer maintenant – randseed1724