2013-06-11 2 views
0

Je veux écrire une somme de valeurs dans une zone de texte. Pour que j'ai ces deux parties de code:zone de texte d'entrée obtenir la valeur NaN

HTML:

<label for="test1">Value(€)</label> 
<input type="text" name="test1" id="test1" value="0"><br> 

Javascript:

function selected_feature(event){ 
    //set to 0 
    document.getElementById('test1').value = 0; 

    //Loop 
    for(var i=0; i<elements.selectedFeatures.length; i++) { 
     var elements; 
     elements += parseFloat(elements.selectedFeatures[i].attributes.value_elements); 
     document.getElementById('test1').value = elements; 
    } 

} 

http://pastebin.com/N2jnaQ4x

Conclusion: Je reçois la valeur NAN en zone de texte. J'ai essayé beaucoup de choses avec 'parsefloat' mais rien ne marche. Si je fais un 'alert (typeof elements') 'à la fin de la fonction, j'obtiens' number '. Pourquoi le textbox a reçu 'NaN'? Quelqu'un peut-il m'aider?

Merci

+0

Cela dépend de ce 'selectedFeatures' contient. À première vue, je dirais qu'au moins l'un d'entre eux ne contient pas de nombre (donc 'parseFloat' renvoie NaN). –

+0

Si pas un nombre pourquoi je reçois un nombre en résultat de type off? – pdcc

+0

J'utilise typeof pour voir le type de variable et je reçois toujours 'number': http://pastebin.com/7EUWA4Kv – pdcc

Répondre

1

basé sur le débogage, je pense que le problème est que la déclaration de zone de texte d'entrée pour le champ de valeur n'est pas déclarée avec une valeur entière. Je l'ai trouvé dans ce jsFiddle peut-être essayer de définir la valeur à 0 ou vide dans le champ de valeur des deux zones de texte de saisie dans le code. au lieu de la zone de texte. vous verrez que lorsque vous cliquez sur le "Ajouter les deux valeurs" il nous montrera NaN .. mais quand le champ de texte d'entrée a la valeur entière quand couru .. Vous verrez que cela va ajouter .. Je n'ai toujours pas compris comment résoudre ce problème - de toute façon, le partage juste ..

Essayez cette

<input type="text" id="one" value="" /> 
<input type="text" id="two" value="" /> 

VS cette

Essayez cette

<input type="text" id="one" value="20" /> 
<input type="text" id="two" value="30" /> 

dans le ci-dessous

JSFiddle Code Here

signature Out - Lakhi Calantoc de Nouvre Technologies

Questions connexes