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 :

formulaire et JS pour la premiere fois


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Points : 115
    Points
    115
    Par défaut formulaire et JS pour la premiere fois
    Bonjour à tous
    je me lance dans le JS, pour les besoin d'un intranet (petit formulaire genre facturier)

    En php, sql, ......et JS pour résoudre le problème suivant :

    1er souci :
    Un select qui propose des produits( récupérés dans la BDD) et dans la colonnes suivante, le prix (indiqué aussi dans la BDD) doit s'afficher automatiquement...

    2eme souci:
    l'input ou le prix s'affiche doit pouvoir être modifié sur l'instant si l'utilisateur veut modifier le prix juste pour l'occasion, et sans bousiller mon input évidement..


    Je ne demande pas que l'on code à ma place (évidement), mais juste des infos pour éclairer ma lanterne car je ne sais pas par ou commencer...

    merci de votre attention

  2. #2
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Bonjour,

    Peut-être de quoi te mettre sur la piste...
    et te permettre de commencer :
    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
    <?php 
    $table=array(
    	array('id'=>12,'nom'=>'savon','prix'=>5.1),
    	array('id'=>15,'nom'=>'dentifrice','prix'=>1.1),
    	array('id'=>17,'nom'=>'shampoing','prix'=>2.1)
    	);
    ?>
    <script type="text/javascript" language="Javascript">
    var tab_produit=new Array();
    <?php
    foreach ($table as $row) {
    ?>
    tab_produit[<?php echo $row['id']; ?>]= <?php echo $row['prix']; ?>;
    <?php 
    }
    ?>
    function prix(produit) {
            idProduit = produit.options[produit.selectedIndex].value;
    	if(idProduit != 0){
    		idPrix=document.getElementById("prix");
    		idPrix.value = tab_produit[idProduit];
    	}
    }
    </script>
    
    <select name="produit" onchange="prix(this)">
    	<option value="0">--- choisir ---</option>
    <?php
    foreach ($table as $row) {
    ?>
    	<option value="<?php echo $row['id']; ?>"><?php echo $row['nom']; ?></option>
    <?php 
    }
    ?>
    </select>
    <input id="prix" type="text" value=""/>
    Ce qui me parait important :
    • L'attribut onchange sur la balise select indique
      que l'on va appeler la fonction prix()
      lorsque l'option va changer.
    • La fonction prix() affecte
      le prix du produit sélectionné (produit.options[produit.selectedIndex].value)
      à l'attribut value
      de la balise ayant l'id="prix" (document.getElementById())


    Fred

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Points : 115
    Points
    115
    Par défaut
    Merci
    je décrypte, je test, et je donne des nlles

    Merci beaucoup

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Points : 115
    Points
    115
    Par défaut
    salut, me revoila.

    je suis complètement larguer, pas assez calé en JS.

    je n'arrive pas à me reperer avec mon code, j'ai du sql au milieu et pas array:

    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
     for($i=1;$i < 10;$i++)
         {
    echo '<tr>
    <td ><input   name="poids_'.$i.'" type="text" ></td>
     
    <td ><select class="select" name="qualit_'.$i.'" > ';?>
     
    <option  value="">choix</option>
     
    <?php $liste = mysql_query("SELECT qualite FROM list_qualit ");
     
     while ($donnees = mysql_fetch_array($liste) )  {       ?>
     
    <option  value="<?php echo $donnees[qualite]; ?>" >
     
    <?php echo $donnees[qualite];?> </option> <?php } ;?>  
     
    </select></td>
     
    <td ><input  class="coment"  name="coment_'.$i.'" type="text" ></td>
     
    <td ><input   name="prixkg_'.$i.'" type="text" ></td>
     
    <td ><input  type="text"     name="somm_'.$i.'"></td>
     
    </tr>
    je ne vois pas comment je peux replacer ton array par la liste que j'ai dans la table.
    Et dans l'hypothèse ou j'y arrive, refaire un array en js à partir d'une table, est-ce que c'est correct, ça ne fait pas double emplois ?

    Merci de ton aide...

    ps: c'est vraiment pas évident le JS

  5. #5
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Bonjour,

    Mon idée était de coder quelque chose qui ressemble à cela :
    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
    <?php
    /********************************************************************
    *                       JAVASCRIPT + PHP 
    *         Création des array,  Fonction afficherPrix()
    *********************************************************************/
    ?>
    <script type="text/javascript" language="Javascript">
    var produits=new Array();
    <?php
    $produits=array();
    $result = mysql_query("SELECT * FROM produit");
    while ($row = mysql_fetch_array($result)) {
    //      Array $produits (PHP)   
            $produits[] = $row;
    ?>
    // 	Array Produits (Javascript)
    	produits[<?php echo $row['id']; ?>]= <?php echo $row['prix']; ?>;
    <?php
    }
    ?>
    // Fonction afficherPrix(produit,ligne)    
    //	produit : produit sélectionné dans le select
    //	ligne : ligne de la table html dans laquelle a été fait la sélection 
    function afficherPrix(produit,ligne) {
        idProduit = produit.options[produit.selectedIndex].value;
    	if(idProduit != 0){
    		idPrix=document.getElementById("prix"+ligne);
    		idPrix.value = produits[idProduit];
    	}
    }
    </script>
     
    <!--
    ********************************************************************
    *			HTML + PHP 
    *	          Affichage de la page
    *********************************************************************/ 
    -->
    <form action="" method="post">
    <table>
    	<?php
            for($ligne=0;$ligne<10;$ligne++) {
            ?>
    		<tr>
    			<td >
    				<select name="produit[<?php echo $ligne; ?>]" class="select" onchange="afficherPrix(this,<?php echo $ligne; ?>)"> 
    					<option value="">choix</option>
    					<?php foreach ($produits as $produit) { ?>
    					<option value="<?php echo $produit['id']; ?>"><?php echo $produit['nom']; ?></option>
    					<?php } ?>
    				</select>
    			</td>
    			<td ><input type="text" name="prixkg[<?php echo $ligne; ?>]" id="prix<?php echo $ligne; ?>"></td>
    			<td ><input type="text" name="poids[<?php echo $ligne; ?>]"></td>
    			<td ><input type="text" name="somm[<?php echo $ligne; ?>]"></td>
    		</tr>
    	<?php
            }
            ?>
    </table>
    </form>
    Mais ça reste à adapter !
    Fred

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Points : 115
    Points
    115
    Par défaut
    Un grand merci pour ton aide.
    j'ai tenter d'adapter, ....

    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
    <?php
    /********************************************************************
    *                       JAVASCRIPT + PHP 
    *         Création des array,  Fonction afficherPrix()
    *********************************************************************/
    ?>
    <script type="text/javascript" language="Javascript">
    var produits=new Array();
    <?php
    $produits=array();
    $result = mysql_query("SELECT id,qualite,prix FROM $table_3 ");
    while ($row = mysql_fetch_array($result)) {
    //      Array $produits (PHP)   
            $produits[] = $row;
    ?>
    // 	Array Produits (Javascript)
    	produits[<?php echo $row['id']; ?>]= <?php echo $row['prix']; ?>;
    <?php
    }
    ?>
    // Fonction afficherPrix(produit,ligne)    
    //	produit : produit sélectionné dans le select
    //	ligne : ligne de la table html dans laquelle a été fait la sélection 
    function afficherPrix(produit,ligne) {
        idProduit = produit.options[produit.selectedIndex].value;
    	if(idProduit != 0){
    		idPrix=document.getElementById("prix"+ligne);
    		idPrix.value = produits[idProduit];
    	}
    }
    </script>
     
    <!--
    ********************************************************************
    *			HTML + PHP 
    *	          Affichage de la page
    *********************************************************************/ 
    -->
    <form action="" method="post">
    <table>
    	<?php
            for($ligne=0;$ligne<10;$ligne++) {
            ?>
    		<tr>
    			<td >
    				<select name="$table_3[<?php echo $ligne['prix']; ?>]" class="select" onchange="afficherPrix(this,<?php echo $ligne; ?>)"> 
    					<option value="">choix</option>
    					<?php foreach ($produits as $produit) { ?>
    					<option value="<?php echo $produit['id']; ?>"><?php echo $produit['qualite']; ?></option>
    					<?php } ?>
    				</select>
    			</td>
    			<td ><input type="text" name="prixkg[<?php echo $produit['prix']; ?>]" id="prix<?php echo $ligne; ?>"></td>
    			<td ><input type="text" name="poids[<?php echo $ligne; ?>]"></td>
    			<td ><input type="text" name="somm[<?php echo $ligne; ?>]"></td>
    		</tr>
    	<?php
            }
            ?>
    </table>
    </form>
    les 1er tests ont l'air convaincant, ..je finiole et je donne des nouvelles

    Merci beaucoup @ bientôt
    -
    -

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 209
    Points : 115
    Points
    115
    Par défaut
    C'est bon ça fonctionne...

    Merci beaucoup @ bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelle langage pour la premiere fois
    Par Notalie dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 11/04/2010, 17h54
  2. Réponses: 0
    Dernier message: 26/08/2009, 14h42
  3. Réponses: 1
    Dernier message: 31/07/2009, 12h44
  4. lancer tomcat pour la premiere fois
    Par sniper_marra dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 20/08/2008, 00h46

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