fonction JavaScript et asp:Repeater => Comment récupérer le bon TextBox ?
Bonjour,
Alors, voilà,
j'ai 1 page dans laquelle j'ai 2 zones de saisies.
Chaque zone correspond à 1 Item d'1 Repeater.
1 zone = 1 asp:TextBox.
Les TextBox sont initialisées à 0.
Au load de la page je génére 2 zones (non alternées) générées par répéteur. En fait je "Bind" 1 répéteur sur un 1 objet qui est 1 liste composée de 2 éléments. D'où génération de 2 zones.
A chaque TextBox, j'associe 1 fonction qui affiche le TextBox dans 1 "alert" ("La valeur est ...").
Si l'utilisateur rempli "1" dans le 1er TextBox, on affiche : "La valeur est 0" (problème!).
Ensuite, pour le 2ème, on saisi "2", il s'affiche : "La valeur est 2" (OK).
Si l'utilisateur écrit 10 dans le 1er TextBox, il s'affiche "La valeur est 2" (problème!).
Comment distinguer les différents Items d'un répéteur, en JavaScript?
Ci-dessous extrait du code-behind de la fonction Load :
Code:
1 2 3 4 5 6
|
foreach (Repeater item in rptElements.Items)
{
TextBox txt1 = (TextBox)item.FindControl("txt1");
txt1.Attributes.Add("OnChange", "GET();");
} |
et le JavaScript :
Code:
1 2 3 4 5 6 7
|
<script language="javascript" type="text/javascript" >
function GET()
{
var txt1 = document.getElementById("<%=txt1 %>");
alert('La valeur est ' + txt1.value);
} |
Merci par avance pour vos infos.
David.
Superbe, ça marche ! Reste juste 1 Problème ...
Merci, ça marche ! ;)
Il me reste encore 1 problème : :(
je dois faire 1 addition en javascript entre cette valeur qu'on vient de récupérer et 1 valeur d'1 TextBox situé dans la page.
L'ID du TextBox à récupérer est : ctl00_cphMain_rptElements_ct05_ctl05.
Le problème est que je travaille avec des Répéteurs, donc j'ai besoin de pouvoir faire varier l'ID (je dois utiliser un string pour l'ID).
Avec cette Fonction JavaScript, j'essaie de récupérer la valeur du TextBox : :(
Code:
1 2 3 4 5 6 7 8
|
function Calcul(id1)
{
var numero = 5;
var idX = "ctl00_cphMain_rptElements_ct0" + num + "_ctl05_txtDimension_Largeur";
var largeur = idx.value;
alert(' largeur= ' + largeur);
} |
Malheureusement, ça marche pas. Ca ne s'éxécute même pas.
Merci par avance pour vos idées.
David.