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

AJAX Discussion :

[AJAX] Formulaire IE 10 et Chrome


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 15
    Points
    15
    Par défaut [AJAX] Formulaire IE 10 et Chrome
    Bonjour à tous,

    Voilà mon problème, une liste liée qui fonctionnait correctement ne marche plus maintenant sur IE 10 et Chrome. J'ai localisé le problème en faisant quelques tests et il s'avère que lors de l'envoi de mon formulaire le value de la seconde liste "se perd".

    Voici le code concerné (évidemment le tout est en include dans un formulaire assez important :

    appel1.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
    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
    <script type="text/javascript">
    var xhr = null;
    function getXhr(){
    	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; 
    	} 
    }
     
    	/**
    	* Méthode qui sera appelée sur le click du bouton
    	*/
    	function go_1(){
    		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('famille_1').innerHTML = leselect;
    			}
    		}
     
    		// Ici on va voir comment faire du post
    		xhr.open("POST","../appels/appel2.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('id_societe');
    		idgenre = sel.options[sel.selectedIndex].value;
    		xhr.send("idGenre_1="+idgenre);
    	}
    </script>
    Code php : 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
    <table>
    	<tr>
    		<td class="bold">
    			Société : 
    			<select name="id_societe" id="id_societe" onchange="go_1();" style="width:150px;">
    			<option value="">Société</option>
    			<?php
    			$search_societes_left=mysql_query("SELECT id_societe, nom_societe FROM conf_societes");
    			while($find_societes_left=mysql_fetch_array($search_societes_left))
    			{
    				echo '<option value="'.$find_societes_left['id_societe'].'"';
    				if($_GET['id_societe']==$find_societes_left['id_societe'])
    				{
    					echo 'selected="selected"';
    				}
    				echo '>'.$find_societes_left['nom_societe'].'</option>';
    			}
    			?>
    			</select>
    		</td>
    		<td class="bold">
    			&nbsp;Magasin : 
    			<div id="famille_1" style="display:inline">
    			<select name="id_shop" id="" style="width:150px;">
    			<option value=""></option>
    			<?php
    			if(isset($_GET['id_shop']))
    			{
    				$id_shop_left_selected_gauche=$_GET['id_shop'];
    				$search_shop_selected_gauche=mysql_ligne("SELECT shop FROM conf_shop WHERE id_shop='$id_shop_left_selected_gauche'");
    				echo '<option value="'.$id_shop_left_selected_gauche.'">'.$search_shop_selected_gauche['shop'].'</option>';
    			}
    			?>
    			</select>
    			</div>
    		</td>
    	</tr>
    </table>



    appel2.php
    Code php : 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
    include_once '../conf/conf.php';
    mysql_connect(_DB_HOST,_DB_LOGIN,_DB_PWD);
    mysql_select_db(_DB_NAME);
    echo '<select name="id_shop"  id="famille_s_1" style="width:150px;">';
    if(isset($_REQUEST['idGenre_1']))
    {
    	$res = mysql_query("SELECT id_shop, shop FROM conf_shop WHERE id_societe=".$_REQUEST["idGenre_1"]." ");
    	if(mysql_num_rows($res)>1)
    	{
    		echo '<option value="">S&eacute;lectionnez un magasin</option>';
    	}
    	while($row = mysql_fetch_assoc($res))
    	{
    		echo '<option value="'.$row['id_shop'].'">'.htmlentities($row['shop']).'</option>';
    	}
    }
    echo "</select>";
    ?>
    <?php mysql_close(); ?>


    Donc avant (IE9 surtout), la valeur du champ id_shop passait sans problème et le formulaire était donc bien traité. Maintenant sous IE10, Chrome et peut-être ailleurs, mon script de traitement ne récupère aucune valeur du champ id_shop. Cependant le champ id_societe lui n'a aucun soucis. Voilà pourquoi je pense que le problème vient du javascript mais je n'ai aucune idée du pourquoi et j'aurais donc bien besoin de vos lanternes

    Merci d'avance pour vos réponses

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Pb d'id
    Bonjour Welden

    J'ai eu le même pb dans un formulaire...
    Dans la définition de "id_societe" tu as mis un name="..." et un id="...", mais dans celle de "id_shop" il n'y a pas d'id...
    Ajoute id="id_shop" et teste de nouveau...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Déjà merci pour la réponse, j'ai effectué la modification, et j'ai eu ce week-end la remonté de l'info pour IE 10 et visiblement le problème persiste sur des deux navigateurs. Bref si quelqu'un à d'autres idées, parce que là je sèche

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Impossible de comprendre ce que tu souhaites
    Dans un AJAX, il y a un FORM ou un événement qui appel AJAX,
    lequel passe un ou plusieurs paramètres à un PHP qui renvoie par un seul echo
    une réponse.

    Peux tu me regrouper ce qui forme le HTML contenant l'appel AJAX,
    Puis le PHP appelé, qui je te le rappelles ne peux répondre que par un seul echo !

    Par ailleurs du fais du POST, pas du GET , je voudrais savoir
    merci

Discussions similaires

  1. [AJAX] Formulaire sous AJAX !!!
    Par urai1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2007, 21h36
  2. [AJAX] Formulaire inscription ..
    Par Lunthear dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/03/2007, 12h35
  3. [AJAX] Formulaire en AJAX
    Par myriam.kone dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/11/2006, 13h41
  4. [AJAX] Ajax, formulaire, div et select
    Par n8ken dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/09/2006, 10h51
  5. [AJAX] Formulaire prépopuler avec du ajax dans la page
    Par shwin dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/10/2005, 15h37

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