2010-08-14 8 views
2

J'ai une boîte d'entrée asp.net:Comment: appeler dynamiquement javascript à partir de la zone de saisie asp.net?

<asp:TextBox ID="InCL" runat="server" Text=""></asp:TextBox> 

Dès qu'un numéro est entré, je voudrais envoyer cette valeur à une fonction javascript qui met à jour une jauge google.

Par exemple, les entrées utilisateur 77, le google gauge se déplace immédiatement dynamiquement vers cette position.

Toute aide est appréciée.
Merci.

EDIT
Je regarde l'événement DOM onkeyup, est-ce une bonne façon d'aller?

Je crois que je viens de parler à moi-même ici .....

Répondre

2

Voici un script jQuery que je faisais quelque chose de très similaire. Il utilise en effet onkeyup pour définir la valeur; il utilise également onkeydown pour empêcher les valeurs non numériques; et force une valeur par défaut de 0 si l'utilisateur tente de quitter la zone de texte sans valeur:

var updateUI = function(value) { 
    //set gauge 
}; 

var textbox = $('#id_of_textbox)' 

textbox.keydown(function(e) { 
    return validNumberKeys.indexOf(e.which) > -1; 
}).keyup(function(e) { 
    var input = $(e.target); 
    if(input.val() !== '') { 
     updateUI(input.val()); 
    } 
}).blur(function(e) { 
    var input = $(e.target); 
    if(input.val()==='') { input.val('0'); } 
    updateUI(input.val()); 
}); 

var validNumberKeys = [8,9,13,16,17,18,35,36,37,38,39,40,45,46,48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105]; 
2

Vous pouvez le faire:

<asp:TextBox ID="InCL" runat="server" onchange="YourJavaScriptFunction()" Text=""></asp:TextBox> 

YourJavaScriptFunction() serait alors lire la valeur de INCL et fais ce que tu as besoin de faire avec.

Vous pouvez également passer la valeur à votre JavaScript comme ceci: onchange = "YourJavaScriptFunction (this.value)"

La même syntaxe fonctionnera avec onkeyup: onkeyup = "YourJavaScriptFunction()"

+2

PS One problème avec OnKeyUp est que cela ne fonctionnera pas si l'utilisateur colle une valeur dans le TextBox – Andrew

+0

bon point, merci. –

+0

semble bon, merci. –