2011-05-05 8 views
0

J'ai une étiquette qui contient une valeur et une zone de texte dans laquelle je vais entrer un nombre. J'ai une autre étiquette, qui devrait dynamiquement donner la différence entre les deux que je tape le nombre dans la zone de texte. Comment est-ce que je fais cela en utilisant Javascript? J'ai essayé:Comment changer le contenu d'une étiquette en utilisant Javascript?

<script type="text/javascript"> 
function compute_diff(){ 
    var lbl1 = document.getElementById("<%=label1.ClientID%>").value; 
    var txtbox = document.getElementById("<%=textbox1.ClientID%>").value; 
    var lbl2value = lbl1 - txtbox 
    document.getElementById("<%=label2.ClientID%>").innerText = lbl2value; 
    return true; 
    } 
</script> 

J'appelle cette fonction sur l'événement OnKeyUp, mais ce ne sont pas sa cuisson. Quelle est la bonne façon d'y arriver? Je développe le site en utilisant ASP.Net.

Répondre

2

La ligne

var lbl2value = lbl1 - txtbox 

ne fonctionnera pas. Vous aurez besoin d'utiliser une chaîne algorithme de diff tel que celui à

http://ejohn.org/projects/javascript-diff-algorithm/

En outre, envisager d'utiliser jQuery pour faire en sorte que cela fonctionne navigateur croix comme la mise en œuvre de innerText peuvent différer d'un navigateur à.

+0

@Tim Ebenezer: Merci pour le site, mais cela fonctionnera-t-il avec les chiffres? L'étiquette et l'entrée que je vais entrer dans la zone de texte sont les deux nombres. Est-ce que ça marchera? – CodingInCircles

+0

Je vois, si ce sont des nombres et que vous voulez obtenir la différence, vous devrez d'abord convertir les nombres en utilisant la fonction parseInt. –

+0

@Time Ebenezer: Pouvez-vous me dire comment je peux faire ça? Et sur quel événement il doit être viré? Merci! :) – CodingInCircles

Questions connexes