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 :

souci case a cocher


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Par défaut souci case a cocher
    Bonjour,

    je voudrais savoir une case est cocher et non .je fait une boucle pour un affichage de resultat avec une checkbox pour chaque resultat donc j'ai fait un tableau ( choix[$i]) .ensuite si la case est cocher on donne la valeur true et on rentrerai dans le 'Si ...alors 'pour effectuer une mise a jour
    sinon on lui donne la valeur false..
    pourriez vous me dire ce qui ne vas pas .

    la boucle pour afficher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for ($i = 0; $i <= $borneSup-1; $i++) {
     
                     $db->next_record();
                     if ($i > $startRow-1)
     
                         $code=aHref($code,$db->f("IDNV")." - ".$db->f("CDNVMQ")." - ".$db->f("CDNVMD")." - ".$db->f("LDNVVE")."<input type='checkbox' id='choix'  name='choix[$i]' onClick='javascript : cocher(this.checked)'   ","",$db->f("IDNV"));
     
                }
    on teste si c'est vrai pour faire la mise a jour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      if (document.Form1.choix{$i].value==true) { 
     
     
     
                          echo "ok";
                   $query2="update VEHICULES set CIVNVH='X' set IDNV2 ='". $valuecode."' where IDNV ='".$identifiant."'";
                      $db2->query($query2);
     
     
                 }
                 else {
                 	echo "non " ;}
                	}
    et la partie javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script language=javascript>
     
    function cocher(val_input) {
    if (val_input) {
    document.Form1.val_input.value=true;
     
    }else{
    document.Form1.val_input.value=false';
    }
    }
     
    </script>

  2. #2
    Membre éprouvé Avatar de Alt157
    Profil pro
    Inscrit en
    Février 2009
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 143
    Par défaut
    Bonjour,

    Ton deuxième script il est en quoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (document.Form1.choix{$i].value==true)
    c'est quel langage ? sinon essayes déjà de mettre un crochet au lieu d'une accolade. Mais on dirait un mélange de javascript et de php...

    Essayes également de mettre des guillemets autour des attributs de tes balises :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" ></script>

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Par défaut
    le deuxième il es en php normalement ,je ne sais pas comment lui demander le test de la valeur,j'ai vu cela sur le net mais je ne sais pas si c'est juste

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut;
    Tu ne devrais pas mettre du javascript dans PHP
    if (document.Form1.choix{$i].value==true) {
    echo "ok"; ...
    Pour récupérer un variable en PHP, tu devrais utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $_POST['NameDeLobjet'];
    //ou
    $_GET['NameDeLobjet'];

  5. #5
    Membre éprouvé Avatar de Alt157
    Profil pro
    Inscrit en
    Février 2009
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 143
    Par défaut
    Dans un premier temps, je vais te faire chier avec des trucs qui n'ont rien a voir mais qu'il faut savoir :
    • un ID est unique donc dans ton cas tu mets id="choix" sur X checkbox = pas bien
    • dans un onclick ( il n y a pas de majuscules ) et c'est forcement du javascript donc pas besoin de mettre javascript:


    Sinon tu veux quoi exactement. Au moment de la validation du formulaire savoir quels sont les checkbox coché, a l'aide de php ?

    Dans ce cas tu peux faire (petit exemple) :

    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
     
    <?php
    echo 'mes cases cochées : <br />';
    for ($i = 0; $i < count($_POST["choix"]); $i++)
    {
       echo $_POST["choix"][$i]." - ";
    }
    ?>
     
    <form method="post" action="mapage.php">
    <input type="checkbox" name="choix[]"
    value="valeur1" />Option 1<br />
    <input type="checkbox" name="choix[]"
    value="valeur2" />Option 2<br />
    <input type="checkbox" name="choix[]"
    value="valeur3" />Option 3<br />
    <input type="Submit" value="OK" /> 
    </form>
    Le script PHP affiche les valeurs des cases cochées ni plus ni moins

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Par défaut
    oui je veux savoir les cases cocher. il fait une boucle et pour chaque case ,si elle es cocher il va mettre a jour la base de donnée dont l'identifiant correspondan

  7. #7
    Membre éprouvé Avatar de Alt157
    Profil pro
    Inscrit en
    Février 2009
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 143
    Par défaut
    Ce que tu peux faire c'est lors de la génération de tes checkbox leur mettre dans le value l'identifiant.

    c'est a dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type='checkbox' name='choix[]' value='identifiant du checkbox' onclick='cocher(this.checked)' />
    et utilises le script plus haut de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    for ($i = 0; $i < count($_POST["choix"]); $i++)
    {
        $identifiant = $_POST["choix"][$i];
        // LA MISE A JOUR
    }
    ?>
    (je rappelle que ce script ne garde que les checkbox cochés)

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Par défaut
    d'accord Alt157 et dans mon code je dois changer quoi alors,voici ce que ca me donne maintenant.

    le formulaire est dans la page html qui es appeler dans le fichier php.
    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
      <FORM method="POST" name="Form1" ID="Form1"  action="{ACTION}" >
                  <TABLE width="100%">
                    <TR class=io-fontcentre>
                      <TD width="20%">&nbsp;</TD>
                      <TD colspan="2">
                        <div align="center">
                           <!-- Filtre -->
    {filtre}
                           <!-- Fin Filtre -->
                        </div>
                      </TD>
                    </TR>
                    <TR class=io-liste>
                      <TD width="20%">&nbsp;</TD>
                      <TD nowrap>
                         <!-- Liste -->
    ...
    {liste}
    la on affiche la liste des résultats
    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
          function listEntity($restrict,$startRow){
     
                 global $g_num_rows,$g_numOptionsByList,$session_restrict;
     
                 $db = new DB;
                 $db->Debug =false;
                 //echo "sql restrict : $restrict<br>";
                 //echo "sql session_restrict : $session_restrict<br>";
                 $query="select count(*) from VEHICULES $restrict";
                 $db->query($query);
                 $db->next_record();
                 $g_num_rows= $db->f("COUNT(*)");
     
                 //echo "num_rows : ".$g_num_rows;
    				 //echo $restrict;
     
                 if ($g_num_rows < $startRow + 500){
                     $borneSup=$g_num_rows;
                 } else {
                     $borneSup=$startRow + 500;
                 }
     
                 //$query="select IDNV, CDNVMQ, LDNVMQ, CDNVMD, LDNVMD, CDNVCR, LDNVCR, CDNVEN, LDNVEN, QVNVPA, DDNVCO, CDNVGR, LDNVGR from VEHICULES $restrict order by 1 desc";
                 $query="select IDNV, CDNVMQ, CDNVMD, rpad(LDNVVE,35,'_') as LDNVVE  from VEHICULES ";
                 $query.="$restrict order by IDNV asc";
     
                 $db->query($query);
                 for ($i = 0; $i <= $borneSup-1; $i++) {
     
                     $db->next_record();
                     if ($i > $startRow-1)
     
                         $code=aHref($code,$db->f("IDNV")." - ".$db->f("CDNVMQ")." - ".$db->f("CDNVMD")." - ".$db->f("LDNVVE")."<input type='checkbox'   name='choix[]' value ='true' ","",$db->f("IDNV"));
     
                }
     
                 return $code;
           }
    $code correspond a une variable qui va servir pour l'assignation dans {liste}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $template->assign("liste", listEntity(" where CIVNVH !='2' and upper(IDNV) like '".strtoupper($value)."%'".$restrict,$session_startRow1));
    et ici je test pour faire l'update
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      if ($_POST["choix"][$i]=='true'){
     
    			      echo "ok";
                   $query2="update VEHICULES set CIVNVH='X' set IDNV2 ='". $valuecode."' where IDNV ='".$identifiant."'";
                  $db2->query($query2);
     
     
                 }
                 else {
                 	echo "non " ;}
                	}

Discussions similaires

  1. [WebForms]Ajout d'une case a cocher dans l'entête d'un DataGrid
    Par julio84 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 02/06/2005, 15h50
  2. Probleme de cases a cocher...
    Par linou dans le forum Web
    Réponses: 3
    Dernier message: 25/05/2005, 14h37
  3. Réponses: 3
    Dernier message: 10/05/2005, 15h20
  4. [Swing]Case a cocher JTable, et Renderer
    Par bibx dans le forum Composants
    Réponses: 16
    Dernier message: 29/12/2004, 14h49

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