IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

nomination du select


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut nomination du select
    slt à vs ts.
    J'ai un petit probleme au niveau de la nomination de mon select.
    car j veu envoyé des données d'une liste à une autre en faisant appel à une methode en javascript.mais cette methode recoi en parametre l nom du select dorigine ainsi que celui de destination.

    la propriété name du select j lutise pr spécifié le formulaire duquelm mon select recoi ses données.

    voici mon select.
    <html:select name="lotForm" property="inselectedProduit" size="4" multiple="true">

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    1 - Le langage SMS est banni de ce forum (ainsi que d'à peu près tous les forums informatiques d'ailleurs). Ca semble anodin, mais ton post est de ce fait 2 fois plus long à lire (ou plutôt à déchiffrer). Fais attention à l'avenir (je sais je joue au prof, mais c'est important, je ne compte pas le nombre de posts auxquels je n'ai pas répondus tout simplement parce qu'ils étaient incompréhensibles.)

    2 - Prend l'habitude de préciser le comportement actuel de ton appli (pas de données ? exception ? trace ? tout ca aide les gens à t'aider)

    3 - Désolé, mais au final je n'ai pas bien compris ton problème. Un peu plus de code, d'explications et une description de "koikispasse" aideraient.

    A+

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    ok.merci pr votre interet.
    voici ma fonction en javascript:

    function selectUnselectMatchingOptions(obj,regex,which,only) {
    if (window.RegExp) {
    if (which == "select") {
    var selected1=true;
    var selected2=false;
    }
    else if (which == "unselect") {
    var selected1=false;
    var selected2=true;
    }
    else {
    return;
    }
    var re = new RegExp(regex);
    if (!hasOptions(obj)) { return; }
    for (var i=0; i<obj.options.length; i++) {
    if (re.test(obj.options[i].text)) {
    obj.options[i].selected = selected1;
    }
    else {
    if (only == true) {
    obj.options[i].selected = selected2;
    }
    }
    }
    }
    }



    et voici mes 2 select:

    <html:select name="lotForm" property="inselectedProduit" size="4" multiple="true">
    <logic:iterate name="lotForm" property="listActivite_non_affecte" id="descriptionactivite">
    <option value="<bean:write name="descriptionactivite" property="descriptionactivite"/>">
    <bean:write name="descriptionactivite" property="descriptionactivite"/>
    </option>
    </logic:iterate>
    </html:select>




    <html:select name="lotForm" property="selectedProduit" size="4" multiple="true">
    <logic:iterate name="lotForm" property="listActivite_affecte" id="descriptionactivite">
    <option value="<bean:write name="descriptionactivite" property="descriptionactivite"/>">
    <bean:write name="descriptionactivite" property="descriptionactivite"/>
    </option>
    </logic:iterate>
    </html:select>



    je veu maintenant lors du clique sur un boutton envoyé les lignes selectionnées au dexiéme liste,et voici le code de mon boutton:

    Ajouter <input type="button" value=">" style="width:60px" onClick="moveSelectedOptions(select1,select2);">

    com vs pouvé l constaté ma fonction a besoin de 2 arguments qui sont les noms des listes.pour la proprité name du liste elle utilisé pr spécifier le form.donc j sais pas quelle propriété permet daffecté le nom au liste(select).
    et merci pr votre reponse.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Mieux que de le mettre en bleu, met ton code entre balises CODE

    Pense à regarder le code HTML généré de ta page, tu auras la réponse à toutes les questions de ce genre. C'est l'attribut "property" qui fixe le "name" de ton champ. Attention, dans le cas d'un champ indexé (mais ce n'est pas ton cas), le name généré est un peu particulier ("truc[0].tonProperty" par exemple).

    Personnellement je préfère utiliser les ID d'éléments pour ce genre de chose (attribut "styleId" de tes balises Struts), et récupérer les éléments par un document.getElementById(), mais là-dessus, chacun ses préférences.

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    J'ai essaye mais ca passe pas

  6. #6
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Fais voir ce que tu as essaye (en utilisant la balise code : symbole # , t'enerve pas mixouille ) !

  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    Celle la cé ma fonction javascript:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    function moveSelectedOptions(from,to) {
    	// Unselect matching options, if required
    	if (arguments.length>3) {
    		var regex = arguments[3];
    		if (regex != "") {
    			unSelectMatchingOptions(from,regex);
    			}
    		}
    	// Move them over
    	if (!hasOptions(from)) { return; }
    	for (var i=0; i<from.options.length; i++) {
    		var o = from.options[i];
    		if (o.selected) {
    			if (!hasOptions(to)) { var index = 0; } else { var index=to.options.length; }
    			to.options[index] = new Option( o.text, o.value, false, false);
    			}
    		}
    	// Delete them from original
    	for (var i=(from.options.length-1); i>=0; i--) {
    		var o = from.options[i];
    		if (o.selected) {
    			from.options[i] = null;
    			}
    		}
    	if ((arguments.length<3) || (arguments[2]==true)) {
    		sortSelect(from);
    		sortSelect(to);
    		}
    	from.selectedIndex = -1;
    	to.selectedIndex = -1;
    	}
    et voici mes 2 select:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <html:select name="lotForm" property="inselectedProduit" size="4" multiple="true">
    <logic:iterate name="lotForm" property="listActivite_non_affecte" id="descriptionactivite">
    <option value="<bean:write name="descriptionactivite" property="descriptionactivite"/>">
    <bean:write name="descriptionactivite" property="descriptionactivite"/>
    </option>
    </logic:iterate> 
    </html:select>
    et le dexiéme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <html:select name="lotForm" property="selectedProduit" size="4" multiple="true">
    <logic:iterate name="lotForm" property="listActivite_affecte" id="descriptionactivite">
    <option value="<bean:write name="descriptionactivite" property="descriptionactivite"/>">
    <bean:write name="descriptionactivite" property="descriptionactivite"/>
    </option>
    </logic:iterate> 
    </html:select>
    je veu lors du clique sur un boutton envoyé les lignes selectionnées au dexiéme liste,et voici le code de mon boutton:

    Ajouter <input type="button" value=">" style="width:60px" onClick="moveSelectedOptions(select1,select2);">

    com vs pouvé l constaté ma fonction a besoin de 2 arguments qui sont les noms des listes.pour la proprité name du liste elle utilisé pr spécifier le form.donc j sais pas quelle propriété permet daffecté le nom au liste(select).
    et merci pr votre reponse.

    l'erreur et dans les nominations "select1" et "select2".
    et merci bcp pour tes conseils: willoi

  8. #8
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Bon c'est pas tres complique, faut faire comme mixouille a dit en utilisant des ids.

    tu ajoutes un styleId et un evenement onclick associe a tes selects :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:select name="lotForm" property="inselectedProduit" styleId="inselectedProduit" size="4" multiple="true">
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:select name="lotForm" property="selectedProduit" styleId="selectedProduit" size="4" multiple="true">
    essaye avec ca, mais la je dois y'aller, si tut t'en sors pas je finis demain par te donner la solution

  9. #9
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    deja essaye avant mais ca fonctionne pas

  10. #10
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    pour le onclick ca viens apré si j peu resoudre ce probleme j croi pa qu'il yaurai un prob ds l click sur la liiste.

  11. #11
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Non, ca devrait marcher.
    Tu as du faire une erreur quelque part.

    Pour appeler ta fonction javascript, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function listChange(){
    list1=document.getElementById('inselectedProduit').value;
    list2=document.getElementById('selectedProduit').value;
    moveSelectedOptions(list1,list2);
    }
    et dans ton select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:select name="lotForm" property="inselectedProduit" styleId="inselectedProduit" size="4" multiple="true" onclick="listChange()">
    Essaye avec ca, sinon j'avais realise ce que tu veux faire deja dans une de mes premieres applis. Si ca marche, je te passerais le code.

    P.S.: Quand tu di ca ne marche pas, precise quelle erreur tu obtiens et quel est son message.
    Pour voir les erreurs en js, je te conseille Firefox avec son extension Firebug.
    Bon courage

  12. #12
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    Bjr, j'ai essayé cette solution mais il me donne la même erreur:"Objet attendu".
    J'ai fait même chose que tu m'avais dis, j'ai ajouté une fonction listChange() de plus j'ai ajouté une alert() au debut de ma fonction listChange() mais le message d'alert() ne s'affiche pas, donc je crois qu'il y'a une erreur lore de l'appel de la fonction Javascript puis qu'il ne peut pas y entrer.
    Voici le code de listChange():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function listChange(){
    alert('phase1');
    list1=document.getElementById('inselectedProduit').value;
    list2=document.getElementById('selectedProduit').value;
    moveSelectedOptions(list1,list2);
    }
    et voici son appel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Ajouter  <input type="button" value=">" style="width:60px" 
    		onClick="Javascript:listChange();">

  13. #13
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    Je crois que j'ai pu localiser mon probleme, c'est au niveau de l'appel de mon fonction, voila ce que je fais maintenant:

    fonction javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function test(){alert('testreussi');}
    son appel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ajouter  <input type="button" value=">" style="width:60px" onClick="test()">
    l'erreur:
    "Objet attendu"

    lorsque je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ajouter  <input type="button" value=">" style="width:60px" onClick="alert('test reussi')">
    ça marche!!!!!!!!!!!!!!

  14. #14
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Fais voir le code complet de ta page!
    Parce que la ca me parait pas evident de comprendre ce qui se passe en ne voyant que des morceaux.

  15. #15
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    Probleme réglé,j'avais une erreur au niveau de mon code javascript,une accolade de plus c'est tout.
    maintenant mon probleme c'est au niveau de la recupertion des variables list1 et list2,
    je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function listChange(){
     
    list1=document.getElementById('inselectedProduit').value;
    list2=document.getElementById('selectedProduit').value;
    alert(list1);
    alert(list2);
    mais je recois un message d'alerte vide.

  16. #16
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Oui c'est normal je m'etais trompe, il ne faut pas utiliser l'attribut value pour les selects
    Apres correction ca donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function listChange(){
    list1=document.getElementById('inselectedProduit');
    list2=document.getElementById('selectedProduit');
    moveSelectedOptions(list1,list2);
    }
    ensuite il faut regarder si les options sont selectionnees ou pas comme tu l'as fait dans ta fonction.

  17. #17
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    Salut ,je suis de retour,maintenant ca marche j'ai reglé aussi ce probleme.
    mais je veux savoir comment recuperer les noms de mes list, car pour ma fonction en javascript elle recoit les noms des list,
    j'ai essyé ceci mais ca marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    list1=document.getElementById('inselectedProduit').name;
    list2=document.selectedProduit('selectedProduit').name;
     
    moveSelectedOptions(list1,list2);
    et j'ai essayé aussi ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    list1=document.getElementById('inselectedProduit');
    list2=document.selectedProduit('selectedProduit');
     
    moveSelectedOptions(list1,list2);

  18. #18
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    j'ai déja essyé ce que tu viens de me dire mais je peux pas recupérer les noms de mes list.

  19. #19
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    En fait tu n'as pas besoin du nom de tes listes.

    Ceci est suffisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    list1=document.getElementById('inselectedProduit');
    list2=document.selectedProduit('selectedProduit');
     
    moveSelectedOptions(list1,list2);
    ce que tu passe c'est l'objet a la fonction pas son nom.

  20. #20
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 28
    Points : 7
    Points
    7
    Par défaut
    supposant que ceci marche bien et que j'ai mes données qui transitent d'une liste à une autre,maintenant je veux savoir comment récuperer mes données contenant dans la liste selected?

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. [VB6] [Crystal] Selection enregistrement
    Par littlecow dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/01/2005, 13h08
  3. SELECT
    Par Thomad dans le forum SQL
    Réponses: 2
    Dernier message: 13/03/2003, 20h56
  4. TEdit : selection du texte et autre fonction
    Par Odulo dans le forum Composants VCL
    Réponses: 5
    Dernier message: 01/08/2002, 14h27
  5. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo