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

jQuery Discussion :

formulaire prerempli avec Jquery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Par défaut formulaire prerempli avec Jquery
    Bonjour,
    j'ai un souci en créant une fonction de modification de fiche a l'aide de Jquery.

    Le principe:

    Une fiche contact est affichée, avec un bouton "Modifier" codé de la maniere suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a class='modifier' rel=".$id_contact." style='cursor:pointer;'>
       <img src='images/icone_modifier_contact.gif' border=0>
    </a>
    J'ai ensuite la fonction JQuery suivante:
    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
     
    	$("a.modifier").click(function(e){
     
    		var id=$(this).attr("rel");
    		var resultSelect = $.ajax({
    					type:"GET",
    					url: "modif_contact.php",
    					data: "id_contact="+id,
    					async: true,
    				        success: function(resultSelect,etat){$("#titre_asso_m_contact_MR").val(resultSelect);}
    					});
     
     
    		if ($("#contactModifForm").is(":hidden")){
    				$("#contactModifForm").fadeIn(500);
    		}
    		else{
    				$("#contactModifForm").fadeOut(500);
    		}	
        });
    Voici le formulaire #contactModifForm affiché
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    <input name="titre_contact" type="text" id="titre_contact">
    <input name="nom_contact" type="text" id="nom_contact">
    Et donc le fichier modif_contact.php appelé par la fonction $.ajax:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $reqSelectContact = "SELECT * FROM contact WHERE id_contact = ".$id_contact.";";
    $resultSelectContact = db_query($reqSelectContact);
    $afficheSelectContact = mysql_fetch_assoc($resultSelectContact);
    $titre = $afficheSelectContact["titre_contact"];
    $nom = $afficheSelectContact["nom_contact"];
    echo $titre;
    Le but est donc que les deux champs de la fiche à modifier soit preremplis
    Vous voyez donc que la variable $titre est donc récupérée par la fonction $.ajax est injectée dans le champ "titre_contact" par JQUERY.

    Ca c'est bon.

    Le souci est: comment lui renvoyer aussi une variable $nom qui viendrait alimenter le $("#nom_contact").val() ?
    Car ma variable $titre est recupérée via le , mais vu que si je fais aussi un , la fonction $.ajax va tout me recuperer.

    Je n'arrive donc pas a dissocier les deux elements.

    J'espere avoir été assez clair.
    Merci de m'aider si vous avez une idée

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Par défaut
    J'essaierai de renvoyer un tableau dans le script php du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      echo '["'.$titre.'","'.$nom.'"]';
    et dans le code javascript, récupérer les variables suivant l'indice du tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      success: function(resultSelect,etat) $("#titre_asso_m_contact_MR").val(resultSelect[0]);$("#nom_asso_m_contact_MR").val(resultSelect[1]);}
    y a peut etre des erreurs de prog, mais l'idee est la. Tu peux aussi utiliser un tableau associatif plutot qu'un tableau indexé. Ca améliore la lisibilité du code.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Par défaut
    en d'autres termes, tu peux créer ton tableau js dans ta fonction de la sorte après avoir recuperé l'id et le nom:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var id=$(this).attr("rel");
    var nom = $("#nom_contact").val()
     
    var tab=new Array(""+id+"",""+nom+"");
    Et puis c'est tab que tu envoies en data.

    Et coté php, modif_contact.php tu traites

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $tableau= $_GET['tab']
    id= $tableau[0];
    id= $tableau[1];
    ainsi, tu peux envoyer plusieurs variables.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Par défaut
    Citation Envoyé par zoutigo Voir le message
    ainsi, tu peux envoyer plusieurs variables.
    Je crois que c'est le probleme inverse. Je comprends que le probleme posé par mica 94 est l'envoie de plusieurs variable du script php vers le js et pas du js vers le php ?

  5. #5
    Membre averti
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Par défaut
    Bonjour,
    merci pour vos reponses.

    Zoutigo, effectivement, loop4 a raison, mon souci est le probleme inverse, à savoir non pas envoyer un tableau de js vers php, mais envoyer plusieurs variables de PHP à JS.

    Je vais deja creuser du coté de la premiere solution, je vous tiens au courant.
    Si vous avez d'autres idees en attendant, je suis preneur.

    Merci

  6. #6
    Membre averti
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Par défaut
    J'ai trouvé une solution:

    Je renvoie tout simplement une chaine de caracteres que je splitte !

    ce qui donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Fichier PHP:
    echo $titre.",".$nom;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Fichier JS:
    		var resultSelect = $.ajax({
    		type:"GET",
    		url: "modif_contact.php",
    		data: "id_contact="+id,
    		async: true,
    		success: function(resultSelect,etat){
    	                       var chaine = resultSelect;
        	                       var vecteur = chaine.split(",");  // Le séparateur choisi est la virgule
    $("#titre_contact").val(vecteur[0]);
    $("#nom_contact").val(vecteur[1]);
     
    }
    }).responseText;

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/06/2011, 12h28
  2. Réponses: 1
    Dernier message: 03/09/2009, 09h53
  3. Réponses: 1
    Dernier message: 20/03/2009, 15h10
  4. [MySQL] formulaire prerempli avec fichier
    Par rvm31 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/11/2007, 16h08

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