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/PHP => Passage de variable


Sujet :

AJAX

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut AJAX/PHP => Passage de variable
    Bonjour à tous,

    Je suis en galère, je suis en train de développer un formulaire dynamique.
    J'ai certains champs déjà existants dont certains avec un petit + juste à côté. Lorsque je clique sur ce petit +, je fais apparaître un autre champs du même type juste en dessous.
    Aucun problème quand il s'agit d'un champs avec un simple code HTML dedans, mais j'en ai un qui est, à la base, généré par un code PHP incluant une requête SQL et là... Ce n'est pas la même histoire.
    Je vous mets le code (partiellement fonctionnel) pour plus de clarté :

    Fichier add_field.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
    // Pour les ajouts de box
    var count_box = 1;
    $(function() {
    	$('#add_field_box').click(function() {
    		count_box += 1;
    		$('#container_box').append(
    			'<label><span>Livebox '
    			+ count_box + 
    			' IP <span class="required">*</span></span><input type="text" id="box' 
    			+ count_box + 
    			' name="box' 
    			+ count_box + 
    			' required="true" class="input-field" /></label>'
    		);
    	});
    });
     
     
    // Pour les ajouts de switch
    var count_switch = 1;
    $(function() {
    	$('#add_field_switch').click(function() {
    		count_switch += 1;
    		$.ajax({
    			url: 'includes/switch_var.php',
    			success: function(html) {
    				var switch_varr = switch_var;
    			}
    		});
    		$('#container_switch').append(
    			'<label for="switch' + count_switch + '"><span>Switch ' 
    			+ count_switch + 
    			' <span class="required">*</span></span><select name="switch' 
    			+ count_switch + 
    			'" class="select-field" required="true"><option value="" selected></option>' 
    			+ switch_varr +
    			'</select></label>'
    		);
    	});
    });
    Fichier switch_var.php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
    	$switch_var = "";
    	$sql_switch = "SELECT * FROM base_materiel WHERE type='switch' ORDER BY modele ASC";
    	$requete_switch = mysqli_query($connexion,$sql_switch) or die('Erreur SQL !<br>'.$sql_switch.'<br>'.mysqli_error());
    	while($resultat_switch = mysqli_fetch_assoc($requete_switch)) {
    		$switch_var .= "<option value=".$resultat_switch['modele']." '>".$resultat_switch['marque']." ".$resultat_switch['modele']."</option>";
    	}
    	echo $switch_var;
     
    ?>

    Fichier add.php (uniquement la partie intéressante) :
    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
    <label for="switch1"><span>Switch 1 <span class="required">*</span></span>
    			<select name="switch1" class="select-field" required="true">
    				<option value="" selected></option>
    				<?php
     
    					$sql_switch1 = "SELECT * FROM base_materiel WHERE type='switch' ORDER BY modele ASC";
    					$requete_switch1 = mysqli_query($connexion,$sql_switch1) or die('Erreur SQL !<br>'.$sql_switch1.'<br>'.mysqli_error());
    					while($resultat_switch1 = mysqli_fetch_assoc($requete_switch1)) {
    						echo "<option value='".$resultat_switch1['modele']."'>".$resultat_switch1['marque']." ".$resultat_switch1['modele']."</option>";
    					}
     
    				?>
    			</select>
    			<span id="add_field_switch" class="add_field_switch"><a href="#">+</a></span>
    		</label>
     
    		<span id="container_switch"></span>

    Mon problème est que quand je clique sur le petit + à côté de mon select du Switch 1, il ne se passe rien (2eme partie du fichier JS), alors que cela marche très bien pour l'input de mes box (1ere partie du fichier JS).
    Je galère encore niveau AJAX, ça ne fait que quelques jours que je m'y suis lancé. Il y a très certainement pas mal de morceaux de code inutiles.
    Quelqu'un aurait-il une idée SVP ? Je suis totalement bloqué...

    Merci.

    Christophe

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Je me réponds à moi-même :

    Dans le fichier JS, à la place de la 2eme partie :

    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
     
    // Pour les ajouts de switch
    var count_switch = 1;
    $(function() {
    	$('#add_field_switch').click(function() {
    		count_switch += 1;
    		$.post('includes/switch_var.php', function(data){
    			$('#container_switch').append(
    				'<label for="switch' + count_switch + '"><span>Switch ' 
    				+ count_switch + 
    				' <span class="required">*</span></span><select name="switch' 
    				+ count_switch + 
    				'" class="select-field" required="true"><option value="" selected></option>' 
    				+ data +
    				'</select></label>'
    			);
    		});
    	});
    });
    Merci à ceux qui ont au moins pris le temps de me lire...

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

Discussions similaires

  1. [AJAX] Passage de variable en ajax
    Par carlatocer dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/02/2007, 14h46
  2. Réponses: 4
    Dernier message: 20/06/2006, 13h12
  3. problème de passage de variables par POST
    Par jeanfrancois dans le forum Langage
    Réponses: 7
    Dernier message: 03/05/2006, 13h36
  4. [PHP-JS] javascript et passage de variables
    Par sohnic dans le forum Langage
    Réponses: 3
    Dernier message: 25/11/2005, 13h51
  5. [FLASH MX] Problème de passage de variable
    Par mandaillou dans le forum Flash
    Réponses: 2
    Dernier message: 15/11/2005, 10h22

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