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 :

ajout de test avant l'envoi


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 208
    Par défaut ajout de test avant l'envoi
    salut,

    j'ai un problème qui concerne une fonction javascript

    je vais vous expliquer en detail

    voila les quatre fichiers:

    famille.php contient :

    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
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    <html>
    	<head>
    		<title>Tutoriel Ajax (XHTML + JavaScript + XML)</title>
     
    		<script type='text/javascript'>
     
    			function getXhr(){
                                    var xhr = null; 
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
                                    return xhr;
    			}
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			function go(){
    				var xhr = getXhr();
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function(){
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 200){
    						leselect = xhr.responseText;
    						// On se sert de innerHTML pour rajouter les options a la liste
    						document.getElementById('article').innerHTML = leselect;
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","ajaxarticle.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				// ici, l'id de l'auteur
    				sel = document.getElementById('famille');
    				idauteur = sel.options[sel.selectedIndex].value;
    				xhr.send("idfamille="+idauteur);
    			}
     
     
    		</script>
    	</head>
    	<body>
    		<form action="suivre.php" method="post" name="form1">
     
    <table frame="box" rules="none">
    <tr>
    <td colspan="2" align="left"><div align="center">Veuillez remplir les champs</div></td>
    </tr>
     
    <tr>				
    <tr><td>Famille</td>
    				<td><select name='famille' id='famille' onchange='go()'>
    					<option value='-1'>Aucun</option>
     
    						<?php
                                                    
                                                    include('modele.php');
    $result=retourfamille();
    while($ligne=mysql_fetch_row($result))
    {
    echo"<option value=\"$ligne[0]\">$ligne[1]</option>"; 
    }
                                                    
                                                    
    ?>
     
    				</select>
    				</td>
    				</tr>
    				<tr><td>article</td>
    				<td>
    				<div id='article' style='display:inline'>
    				<select name='article' id="article1">
    					<option value='-1'>Choisir une famille</option>
    				</select>
    				</div>
     
    				</td>
    				</tr>
     
    				<tr>
    <td>
    quantite</td>
    <td>
    <input type="text" name="quantite" value=""/></td>
    </tr>
    <tr>
    <td colspan="2">
     
    <input type="submit" value="enregister" name="envoyer"/>
     
     
    </form>
    	</body>
    </html
    le fichier ajaxarticle.php contient :
    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
    <?php
    	echo "<select name='article'>";
    	if(isset($_POST["idfamille"])){
    		$serveur="localhost";
    $user="user1";
    $pwd="user1";
    $db="glpi";
    $lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
    mysql_select_db($db,$lien);
     
    		 $query="select *from article where famille=".$_POST["idfamille"]."";
    		 $res=mysql_query($query);
    		 while($ligne=mysql_fetch_row($res))
    {
     
     
    echo"<option value=\"$ligne[0]\">$ligne[1]</option>"; 
     
     
    }

    le fichier modele.php contient
    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
    <?php
    fonction retourfamille()
    {
    $serveur="localhost";
    $user="user1";
    $pwd="user1";
    $db="glpi";
    $lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
    mysql_select_db($db,$lien);
    $query="select *from famille";
    $res=mysql_query($query);
     
    return $res;
    }
     
     
    function decrementearticle($article,$quantite)
    {
    $serveur="localhost";
    $user="user1";
    $pwd="user1";
    $db="glpi";
    $lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
    mysql_select_db($db,$lien);
    $query="update article set qtestock=qtestock-'$quantite' where Reference ='$article'";
    mysql_query($query);
    }
    ?>
    le fichier suivre.php contient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    include('modele.php');
    $article=$_POST['article'];
    $quantite=$_POST['quantite'];
    decrementearticle($article,$quantite);
    header('Location:famille.php');
     
    ?>

    ces quatre fichiers traitent les listes déroulantes avec ajax et aussi fait décrémenter de quantité suite a l'exécution de script tout est exécuté avec succès
    mon but est simple c'est d'ajouter une fonction javascript qui permet de tester si la quantité entrée lors de l'emprunte c'est a dire dans le script famille.php est supérieur à la valeur de la quantité qui existe dans la base de donne dans la table article
    la modification doit toucher seulement le script famille.php
    mais moi j'envoie les quatre fichiers pour vous expliquer le principe avec toutes les notions (nom de la base ,table, les attributs que je voulais toucher)
    donc il faut ajouter une fonction javascript qui prend en paramètre
    la quantite saisie (dans le script famille.php) et un autre paramètre qui est la quantite de stock qui se trouve dans la base de donne dans la table article qui fait référence à l'article sélectionné ( puisque l'article sélectionné correspond a la référence : voir ajaxarticle.php) si la quantité saisie est supérieure à la quantité qui existe dans la base de donnée afficher une alerte si non diriger vers la page suivre.php (ceci je suppose avec document.form1.submit())

    voila tout le problème (c'est juste ajouter un message d'alerte avant de diriger vers la page suivre.php) la modification touche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="submit" value="enregister" name="envoyer" 
     
    onClick="test( <?php ....//avec if(isset(_POSTE[    ]   ?>   .....         )"/>
    et avec bien sûr l'ajout de fonction javascript function test()............



    pouvez m'aidez c'est urgent

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 208
    Par défaut
    pour simplifier les choses

    comment recuperer la valeur de l'article( c'est apres selection de l'article

    cette valeur correspond a la reference de l'article) et a partir du cette valeur

    consulter dans la base de donne et recuperer la quantite qui correspond a la

    référence de l'article)

    ensuite passer cette valeur a la fonction javascript avec autre paramete qui

    est la quantité saisie dans le formulaire de la même page(famille.php)

    si les deux valeurs sont récupérer et donner comme paramètre a la

    fonction java script le reste est simple

    dans le corps de la fonction comparer les deux valeur

    avec le principe qui je déjà donne

Discussions similaires

  1. [debutant] Test avant envoi de formulaire
    Par pierre50 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 14/01/2008, 17h27
  2. TRIGGER (test avant ajout) ne fonctionne pas correctement
    Par marcusien dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/06/2007, 18h02
  3. [Socket] Attente avant l'envoi ?
    Par Invité dans le forum C++
    Réponses: 1
    Dernier message: 21/09/2005, 18h59
  4. Comment faire un test avant un FieldByName().value = ... ?
    Par fredfred dans le forum Bases de données
    Réponses: 13
    Dernier message: 19/09/2005, 10h09
  5. Ajouter un signe avant résultat en fonction du champ
    Par davyd dans le forum Langage SQL
    Réponses: 10
    Dernier message: 10/03/2005, 11h59

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