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 :

checkbox tres simple


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut checkbox tres simple
    bonjour,

    j ai une demande tres simple mais je debute et j ai pas trouvé mon bonheur:

    j ai un tableau de checkbox, et j aimerais qu'a chaque clic, il y ai une requete vers une bdd qui corespondrait aux valeurs des coordonnérs du tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    for($i=0;$i<10;$i++)
    {
    echo '<tr>';
        for($j=0;$j<10;$j++)
    	 {
             echo '<td>';
             echo '<INPUT TYPE="CHECKBOX"  name="nom_de_la_checkbox"   OnClick="action();" VALUE='.$i.','.$j.'  >';           
     
    echo '</td>';
    }
     echo '</tr>';
    }
    et juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    fichier .js, 
    function action()
    {
    alert();
    }

    deja, si ca ca marchait, ce serait bien....

    merci les amis

    eric

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    Voulez vous faire ceci dynamiquement (ex. au clic, le tableau est affiché) ou passivement (après l'envoi du formulaire)

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    merci de vous occuper de mon cas


    j aimerais qu'au clic sur le checkbox, ca appelle une fonction javascript qui, elle, appellera une fonction php pour rentrer une valeur dans une bdd.

    et la fonction php revient à la page du tableau, pour un autre clic...

    la valeur, c est les cordonnées abscisse, ordonnées du tableau. ( restons simples pour l'exemple)

    le but c est de ne pas avoir de bouton "valider", car c est un gros tableau.

    je sais faire l'appel de la bdd, l appel de la fonction php, mais j arrive pas à lancer le onclick sur le input.


    pour l instant, je fais ca, meme si c est pas tres beau, ca me permet de me familiariser avec le javascript et de progresser dans mon programme, au moins ca avance.
    quand je serais plus fort, je ferais le tout en JS, sans passer tout le temps par la bdd, et pourquoi pas, soyons fou.. de l ajax par la suite... hehe

    merci


    eric

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Points : 550
    Points
    550
    Par défaut
    Il faudra utiliser du AJAX.

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    l ajax c est pour plus tard...



    mon systeme fonctionne avec les select, mais pour le input, j y arrive pas.

    il y a reactualisation de la page a chaque fois, puisque j appelle la bdd via une fonction php et un header:index.php apres.

    pour les select je fais comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <form method="POST" NAME='niveau1_perso'>
    <SELECT size=1  onChange='fonction_select_niveau1_perso(this.value)'>
    <?php 
    for($i_niveau1=0;$i_niveau1<21;$i_niveau1++)
    {
    if ($i_niveau1 == $niveau1_perso_selected) {$selection="selected";} else {$selection="";}
    echo '<option '.$selection.' value='.$i_niveau1.'>'.$i_niveau1.'</option>';
    }
    ?>
     
    </select>
    </form>
    et le js:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function fonction_select_niveau1_perso(niveau1_perso) { document.niveau1_perso.action = '../creation_perso/mod/mod_select_niveau1.php?niveau1_perso='+niveau1_perso; document.niveau1_perso.submit(); }

    et le 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
     
    <?php 
    session_start();
     
    include('../sql/declaration_fichiers_mod.php');
    $_SESSION['niveau1_perso']=$_GET['niveau1_perso'];
     
    $val2=$_GET['niveau1_perso'];
    $val4=$_SESSION['id_pj'];
     
    fonction_UPDATE_perso_SET_val1_devient_val2_WHERE_val3_egale_val4("niveau1_perso",$val2,"id_perso",$val4);
     
     
    $dossier=$_SESSION['repertoire_courant'];
    Header( 'Location: ../../fandragon/index.php' );
     
    ?>

    voila

    le JS sert a ne pas avoir de boutons 'valider'
    il y a un appel à la bdd a chaque fois
    il y a reactualisation de la page a chaque fois

    j aimerais faire la meme chose avec les input dans le tableau d'input.


    c est possible?


    eric

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    je progresse:

    j ai deja le input qui fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    for($i=0;$i<1;$i++)
    	{
    	echo '<tr>';
    	for($j=0;$j<1;$j++)
    		{
    		echo '<td>';
    		        echo '<form method="POST" NAME="gestion_talent">';
    			echo '<INPUT TYPE="CHECKBOX"   onClick="fonction_input_gestion_talents(this.value)" title="'.$id_aptitude[$i].','.$id_metier[$j].'">';
    			echo '</form>';						
    		 	echo '</td>';
    		}
    	echo '</tr>';

    le js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function fonction_input_gestion_talents(gestion_talent) { document.gestion_talent.action = '../gestion_talents/mod/mod_select_niveau1.php?gestion_talent='+gestion_talent; document.gestion_talent.submit(); }
    le php:

    'truc' aparait, c est magic


    mais vous remarquez qu'il n'y a qu un seul input, donc un seul 'name'

    si je rajoute des input ( dans les boucles), il y a donc plusieurs input et donc le js ne marche pas car il n y a qu un nom pour plusieur input.

    comment peut on ajouter des noms en dynamique?
    ( car sinon, le fichier js va etre tres long!)

    merci

Discussions similaires

  1. [CGI] Formulaire tres simple
    Par needles94000 dans le forum Web
    Réponses: 2
    Dernier message: 08/02/2006, 02h28
  2. prob tres simple, form, method get
    Par killy-kun dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 25/08/2005, 10h29
  3. Réponses: 6
    Dernier message: 27/04/2005, 15h46
  4. [Defi] Query SQL qui semble tres simple
    Par Wakko2k dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/04/2004, 10h01
  5. Bon je vais essayer d'être simple :
    Par fpouget dans le forum Langage SQL
    Réponses: 8
    Dernier message: 09/04/2003, 17h46

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