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

JavaScript Discussion :

Comment afficher X select, si x est un choix d'un select du formulaire choisi ici


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Comment afficher X select, si x est un choix d'un select du formulaire choisi ici
    Bonjour,

    Alors j'ai un petit soucis .... je vais essayer d'etre le plus clair possible

    Admettons que l'on veuille créer une bataille entre 2 clans qui se déroulent en plusieurs matchs (des 1vs1 et des 2vs2 par exemple).
    Toute ma BDD fonctionne sans soucis et j'ai fais des requetes sympa.

    Mon problème : je souhaiterais pouvoir affiché dans ma page pour "créer une bataille" un formulaire ... jusque là tout va bien Dans ce formulaire, on choisirait le nombre de matchs dans cette bataille (prenons comme exemple : 4 matchs en 1v1 et 1 match en 2v2, ce qui fait donc 5 matchs).

    J'aimerais que lorsque je choisis cette option, cela "actualise" mon formulaire en me mettant le choix de 5 select (liste déroulante) afin que je définisse une option pour chacune d'elle (sur un meme type de select qui serait donc copier / coller le nombre de fois qu'il faut.

    En gros : je choisis 5 matchs, comment faire pour afficher seulement 5 select. Si je choisis 4 matchs >> 4 select etc

    En vous remerciant, j'espere avoir été clair au maximum

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    j'ai posté une contribution pour la création à la volée de formulaires ou éléments de formulaires: http://www.developpez.net/forums/d53...ynamique-form/

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Re,

    Merci mais j'ai pas tout compris :p

    J'ai réussi a trouver un petit code et à l'adapter un petit peu pour le moment mais j'ai deux problèmes.

    Voici le code actuel :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     
     
     
    <script type="text/javascript">
     
    function add_response()
    {
     
    lan = document.getElementById('select').value;
     
     
    for (i=1; i<=lan; i++){
    	var div = document.createElement('div');
     
    	/*var response = document.createElement('input');
    	response.setAttribute('name', 'responses[]');
    	response.setAttribute('type', 'text');
     
    	div.appendChild(response);
     
    	var btnDel = document.createElement('button');
    	btnDel.innerHTML = "Supprimer";
    	btnDel.onclick = function() {
    		remove_response(this);
    	}
     
    	div.appendChild(btnDel);*/
     
     
     
     
    		div.innerHTML = '<input type="text" name="responses[]" /><button onclick="remove_response(this)">Supprimer</button>';
     
     
     
    	var parent = document.getElementById('responses_block');
    	parent.appendChild(div);
     
    }
    }
     
     
    function remove_response(elem)
    {
    	var child = elem.parentNode;
    	var parent = child.parentNode;
     
    	parent.removeChild(child);
    }
     
    </script>
    </head>
     
    <body>
     
    <form id="add_poll" method="post" enctype="application/x-www-form-urlencoded" action="test.php">
    <table style="margin: 0 auto 0 auto; width: 850px" class="form" cellpadding="0" cellspacing="0" border="0">
    <tr>
        <td class="label" style="width: 100px">Select</td>
     
        <td class="value"><select name="select" id="select" onChange="add_response();"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option></select></td>
    </tr>
    <tr>
        <td class="label">Réponses :<br /><a href="#" style="font-size: 10px" onclick="add_response()">Ajouter une réponse</a></td>
        <td class="value" id="responses_block">
        	<div><input type="text" name="responses[]" /><button onclick="remove_response(this)">Supprimer</button></div>
        </td>
     
    </tr>
    <tr><td class="submit" colspan="2"><br/><input type="submit" value="Enregistrer" /> <input type="button" value="Annuler" onclick="location.href='?a=polls'" /></td></tr> 
    </table>
    </form>	      
     
    </body>
    </html>


    Actuellement, lorsque je choisis par exemple "2", il m'ajoute bien 2 fois le innerHTML .... "MAIS" j'ai 2 problèmes :

    1/ Je voudrais réussir à ajouter 2 "select" en php, je pense qu'il faut que je passe par une "div" à rajouter dans le code html et pas dans le javascript là mais je ne sais pas comment faire :s

    2/ Je voudrais que lorsque je choisisse 3 au lieu de 1, bah ça affiche "en tout" 3, il faudrait juste que je fasse la fonction remove avant d'ajouter mais ... je ne sais pas ou exactement


    Le 2eme problème, je pense que je vais réussir à le régler rapidement, mais le 1er .... j'avoue patauger ...

    Merci de votre aide !

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    un select sorti de son contexte this ... n'as pas de value ...

    par contre pour recupérer la value de l'option selectionnée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('select').options[document.getElementById('select').selectedIndex].value

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/01/2011, 19h10
  2. Réponses: 2
    Dernier message: 18/10/2010, 14h48
  3. Réponses: 6
    Dernier message: 08/02/2009, 18h04
  4. Réponses: 2
    Dernier message: 22/11/2006, 13h11
  5. Réponses: 1
    Dernier message: 12/07/2006, 10h51

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