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 balise form empeche l'envoi


Sujet :

JavaScript

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut Ajout de balise form empeche l'envoi
    Bonjour,

    Mon code marchait très bien jusqu'à ce que je rajoute les balises pour créer un formulaire.

    J'ai mis l'appel de mon fichier ajax.js dans le HEAD comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <HEAD>
    	<link rel="stylesheet"media="screen" type="text/css" title="Design" href="design.css">
    	<script type="text/javascript"src="ajax.js" > </script>
    </HEAD>
    Ensuite j'ai l'appel d'une fonction qui se trouve dans se fichier sur un onChange

    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
    <div>
    	<label class="gauche">Fournisseurs</label>
    	<?php
    	$requete_liste_fournisseurs="SELECT * FROM fournisseurs";
    	$liste_table_fournisseurs = mysql_query($requete_liste_fournisseurs);
    ?>
    	<select id="fournisseur" onChange="compte_client();" >
    	<option value="-"><?php echo("-");?></option>
    <?php
    		while ($row = mysql_fetch_array($liste_table_fournisseurs)) { 
    ?>
    		  <option value="<?php echo $row['Id_fournisseur']; ?>">
    		  <?php echo $row['Nom_fournisseur']; ?>
    		  </option>
    <?php  
    		}
    ?>
    	</select> 
    	</div>
    	<div>
    		<label class="gauche">Compte client</label>
    		<input  type="text" id="compte_client">
    	</div>
    Cela m'afficher bien le compte client coorespondant au fournisseur selectionné mais j'ai rajouté les balises form comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <form method="POST" action="creer_bon_commande.php">
    </form>
    L'appel au fichier js ne se fait plus...
    Quelqu'un connaitrait une solution???

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Bonjour , merci de poster le code généré par le navigateur

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    Ou est ce que je récupère cela?

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    Tu veux le code source de la page c'est ca?

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Oui exactement :

    click droit , afficher la source

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    peut etre un name pour le form ...

    Sinon quel est le rapport avec javascript ???
    a priori ce n'est pas javascript qui ajoute les balises form ??? si ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    Voici le code source de la page :

    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
     
    <HEAD>
    	<link rel="stylesheet"media="screen" type="text/css" title="Design" href="design.css">
    	<script src="ajax.js" type="text/javascript"></script>
    </HEAD>
     
     
    <BODY>		
    <DIV align="center">
    <h2> Création d un bon de commande </h2>
    </DIV>
     
    <!--génération des codes de la base-->
     
    <form action="creer_bon_commande.php" method="post">
    <div>
    <label class="gauche">Code</label>
    <select name="code">
    	  <option value="1">
    	  ABO - Abonnement	  </option>
    	</select> 
    </div>
     
    <!--génération des imputations de la base-->
    <div>
    <label class="gauche">Imputation</label>
     
    <select name="imputation">
    	  <option value="1">
    	  6068 - Travaux	  </option>
    	</select> 
    </div>
     
    <!--génération des fournisseurs de la base-->
    <div>
    <label class="gauche">Fournisseurs</label>
    <select id="fournisseur" onChange="compte_client();" >
    <option value="-">-</option>
     
    	  <option value="1">
    	  Leroy merlin	  </option>
    		  <option value="2">
    	  Auchan	  </option>
    	</select> 
    </div>
    <div>
    	<label class="gauche">Compte client</label>
     
    	<input  type="text" id="compte_client">
    </div>
    </form>
    </body>

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    J'ai essayé de mettre un name au formulaire ca ne marche pas.

    apparament, il ne fait plus mon onchange quand je mets les balises form.

    J ai fait un test bidon en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	<script language="javascript" >
    	function compte_client()
    {
    alert("jjj")
    }
    	</script>

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    Ça marche quand je change le nom de la fonction par un nom non composé et avec une majuscule genre Compte.

    Par contre je suis obligé de mettre le code dans ma page php (dans le head) car l'appel du fichier ajax.js ne fonction toujours pas.

    Quelqu'un aurait une idée?

  10. #10
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    un problèmes de path

    ou montre nous ton fichier ajax.js

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    Voici mon fichier ajax.js

    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
     
    function Compte()
    {
     
    				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;
    						document.getElementById('compte_client').value = leselect;
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","ajaxCompte.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
    				sel = document.getElementById('fournisseur');
     
    				if((document.getElementById('fournisseur').value)!="-")
    				{
    				id_fournisseur = sel.options[sel.selectedIndex].value;
    				xhr.send("id_fournisseur="+id_fournisseur);
    				}else{
    				document.getElementById('compte_client').value="";
    				}
    }
     
    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) {
          try {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (e1) {
            xhr = null;
          }
        }
      }
      else { // XMLHttpRequest non supporté par le navigateur
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
      }
      return xhr;
    }

  12. #12
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    pas d'erreur coté JS ,

    ton fichier ajax.js se situe au même niveau que ton autre page ?

    sinon essaye de debuguer avec firebug

  13. #13
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    pas d'erreur ?...

    ha on peut attribuer un value comme ça à un select en javascript ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    Oui ajax.js se situe au même niveau que ma page.

  15. #15
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    là n'est pas la question ...

    .value pour un select n'est qu'en lecture cote client
    pas en ecriture...
    on ne peux pas attribuer de value à un select de la sorte
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  16. #16
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Autant pour moi je n'avais pas fait le // avec le HTML

    oui effectivement il faut sélectionner une des options de la liste et non affecter la valeur directement au select /!\

    ( autant pour moi spaffy )

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Par défaut
    Tu parles de quel .value?

    compte_client est un champ text donc il n' y a pas de probleme.
    Et mon code marche....
    C'est l'appel du fichier qui ne marche pas!

Discussions similaires

  1. [2.x] Ajouter un id dans la balise form
    Par ozack dans le forum Symfony
    Réponses: 3
    Dernier message: 02/07/2013, 15h17
  2. Réponses: 2
    Dernier message: 18/04/2013, 18h18
  3. IE : L'ajout d'une balise <form> décalle mes divs
    Par FoxDeltaSierra dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 20/11/2012, 17h48
  4. balise form
    Par sheira dans le forum ASP
    Réponses: 3
    Dernier message: 08/12/2004, 16h53
  5. [JEditorPane]ajout de balises html
    Par almass dans le forum Composants
    Réponses: 12
    Dernier message: 12/05/2004, 17h07

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