Rechercher : dans
Par :

Aide javascript

Dernière réponse le 28 sep 2007 à 21:29:20 elhila, le 25 sep 2007 à 19:03:32 
 Signaler ce message aux modérateurs

Slt, est c qu'il y a une méthode qui permet de récupérer l'indice de la case qui a été coché parmis les cases au niveau de javascript. et merci.

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « aide javascript » dans :
Javascript - Les événements Voir Qu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Javascript - Les variables Voir Le concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...
Javascript - Introduction au langage Javascript Voir Qu'est-ce que le Javascript? Le Javascript est un langage de script incorporé dans un document HTML. Historiquement il s'agit même du premier langage de script pour le Web. Ce langage est un langage de programmation qui permet d'apporter des...
Javascript - Librairies d'effets pour vos images VoirAu gré de vos explorations du web, vous avez vu de superbes effets de présentation des images. Et ça vous plairaît bien de pouvoir proposer les mêmes à vos visiteurs. Voici quelques solutions en Javascript couplées à des CSS. Elles sont plus...
Javascript - Manipulation des contrôles clavier VoirManipulation des contrôles clavier Cette astuce a pour but de vous faire découvrir la (ou du moins une) manière de contrôler les évènements clavier en javascript. Cela vous permettra de contrôler/attribuer les/des comportements particuliers à...
Javascript - l'objet Array VoirLes particularités de l'objet Array L'objet Array est un objet du noyau Javascript permettant de créer et de manipuler des tableaux. Voici la syntaxe à utiliser pour créer une variable tableau : var x = new Array(element1[, element2, ...]); Si...
Javascript - L'objet window VoirLes particularités de l'objet window L'objet window est l'objet par excellence dans Javascript, car il est le parent de chaque objet qui compose la page web, il contient donc : l'objet document: la page en elle-même l'objet location: le lieu de...
Javascript - L'objet Date VoirLes particularités de l'objet Date L'objet Date permet de travailler avec toutes les variables qui concernent les dates et la gestion du temps. Il s'agit d'un objet inclus de façon native dans Javascript, et que l'on peut toujours utiliser. La...

1

Posotaz, le 26 sep 2007 à 00:34:47

SAlUt,

Supposant que tes cases à cocher (des checkbox ou radio) portent la même valeur d'attribut name, en JS tu peux faire genre :

var cases = document.formulaire.choix;
var i;
for(i=0; i<cases.length; i++) {
   alert(cases[i].checked);
}

Ici on a récupéré dans la variable "cases" un tableau de Checkbox. Le premier indice commence à 0 et la propriété "length" permet de connaître le nombre de cases à cocher. La propriété "checked" quant à elle permet de déterminer si la case a été cochée. Si elle l'est, comme tu es dans une boucle avec un cmpteur (ici "i") tu peux connaître sa position.

Pour que cet exemple soit cohérent, il faut que les <input type="checkbox" /> portent un attribut name="choix" et qu'ils soient englobés dans un <form name="formulaire">.

Répondre à Posotaz

2

elhila, le 26 sep 2007 à 12:31:30

Par exemple, document.formulaire.listCheckBox[1].value pour récupérer directement la valeur du check box, est c q'il y a une méthode permettant de récupérer l'indice de la case pour le transférer en paramétres à une autre fonction !

Répondre à elhila

3

Posotaz, le 26 sep 2007 à 19:09:55

Ta question, identique au problème initial, trouve sa réponse dans mon premier post (et en plus dans ta dernière question). Si tu récupères la valeur d'une checkbox en spécifiant l'indice, c'est logique que cet indice représente aussi l'indice de la case. Comme je t'ai dit, il faut que tes input ayent la même valeur d'attribut name, tu n'as pas à les désigner par leur id (au passage obligatoirement différent pour chaque input).

<form name="f">
    <input type="checkbox" name="politesse" id="poli" value="je dis merci" />Merciiiiii
    <input type="checkbox" name="politesse" id="impoli" value="je ne dis pas merci" />Et comment on fait ??!!
</form>

Maintenant avec ça, faire document.f.politesse[1] te prend la deuxième case (on commence à compter à 0 j'ai dit) et c'est ce "1" que tu passeras en argument à ta fonction. Si à ça tu adaptes le bout de code de ma première réponse, c'est grâce au compteur "i" que tu connaîtras la position (l'indice).
var cases = document.f.politesse;
var indice;
for(indice=0; indice<cases.length; indice++) {
   if(cases[indice].checked) {
      alert("La case n° " + (indice + parseInt(1)) + " est cochée");
      //appel de la fonction avec indice en argument, qui représente la position de la checkbox dans la liste
   }
}

Répondre à Posotaz

4

elhila, le 27 sep 2007 à 02:59:53

T'as pas comrpis le probleme. j'aimerai lorsque je clique sur une case, directement recupérer son indice ou bien valeur et le passer comme paramétre à une fonction. l'indice de la case qui a été coché va me permettre de faire les testes que je veut !!
autrement dis, avant de faire la boucle je dois avoir l'indice de la case qui a été coché.

je cherche une fonction javascript, comme ce truc la :

document.forms[0]."nom de groupe de checkbox".getSelectedIndex

getSelectedIndex ne trouve pas, mais je cherche une fonction qui fai ca directement !!!!

Répondre à elhila

5

Posotaz, le 27 sep 2007 à 21:52:14

Haaaaaaaaaaaaan mais fallait le dire tout de suite :-p

Dans les balises input tu as la possibilité de définir l'attribut onclick. La référence this permet d'envoyer à une fonction l'objet courant.

Sur cet objet, tu sais accéder à la valeur grâce à la propriété value.
Pour la position j'en sais rien mais j'ai une solution temporaire pour toi :

function cliqueBox(box) {
	alert("La valeur de la case cliquée est \"" +  box.value + "\"");
	var politesses = document.f.politesse;
	var position = 0;
	while(i<politesses.length && politesses[i]!=box) {
	       i++ ;
	}
        position = i+1;
	alert("Sa position vaut " + position);
}

Ainsi chaque input ressemblera à
<input type="checkbox" name="politesse" id="poli" value="je dis merci" onclick="cliqueBox(this)" />Merciiiiii mais
<input type="checkbox" name="politesse" id="impoli" value="je ne dis pas merci" onclick="cliqueBox(this)" />T'as rien compris !!!!


PS : Ce code est truffé d'un message subliminal :roll: 8-} 8-)

Répondre à Posotaz

6

elhila, le 28 sep 2007 à 18:32:34

Bonjour,

Bonjour,

vs n'avez pas encore compri le probleme. j'ai des checks box, pr cela j'ai utilisé le tag "multibox" pr tracer les cases à cocher, et j'ai utilsé le code suivant :

<logic:iterate id="centralelb" indexId="count" property="centralesLb" name="suiviProductionForm">
<bean:define id="centalebean" name="centralelb"
type="com.carrefour.cfou.beans.administration.AdministrationGenericBean" />
<html:multibox property="selectedCentrales" styleId="<%=String.valueOf(count)%>" onclick="javascript:cocherDecocher (document.forms[0].selectedCentrales['<%=String.valueOf(count)%>'].value);">
<bean:write name="centalebean" property="code" />
</html:multibox>
<bean:write name="centalebean" property="libelle"/><br/>
</logic:iterate>

je veut récupérer l'indice de la case qui a été coché au moment du clique, j'ai fais ca :

cocherDecocher(document.forms[0].selectedCentrales['<%=String.valueOf(count)%>'].value) mais ca marche pas !!!

je dois récuperer l'indice immédiatement au momoent du clique pr le passer comme paramétres..


et merci !!

Répondre à elhila

7

Posotaz, le 28 sep 2007 à 20:59:25

Salut,

En effet je n'ai pas compris le problème mais si tu me parles JavaScript, je ne te parle pas Struts. Je ne connais pas ce framework et je ne peux donc pas t'aider. Choisis un titre plus parlant, quelqu'un d'autre pourra peut-être t'aider. Bonne chance ! ;-)

Répondre à Posotaz

8

 Posotaz, le 28 sep 2007 à 21:29:20

Maintenant en lisant un peu de documents sur ce taglib, j'en comprends que ça génère un tableau "items" qui représente la liste des valeurs des checkbox au grand complet et un tableau "selecteditems" qui reprend la liste des items sélectionnés et rien d'autre.

Si tu recherches un élément sélectionné dans le tableau complet, tu connaîtras sa position et en fait on reste proche de la solution que je te propose, mais je ne peux pas t'en dire plus sur la façon de récupérer ces tableaux. Puis ça dépend du code généré par ce taglib, pour une manipulation JavaScript c'est le code HTML retourné par le framework qui prendra de l'importance.

Le JavaScript est exécuté côté client. Or, le client reçoit le code HTML produit par le framework. Donc, ton code JavaScript doit s'adapter au code HTML et non pas au code spécifique au framework.

Donc je te conseille de vérifier le code HTML généré par ces taglibs et le comparer à ce que tu attendais. Sur base de ça tu pourras rectifier le tir en Struts, mais là encore je ne serai pas en mesure de t'aider.

Répondre à Posotaz
Collection CommentÇaMarche.net