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 :

Utilisation d'une variable php pour remplir un champ en JS


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut Utilisation d'une variable php pour remplir un champ en JS
    Bonjour,

    J'ai un formulaire qui me permet d'afficher un tableau de donnée. La requete qui créer le tableau est généré en php grace aux variable POST.
    Seulement je désire que les valeurs saisie soit remit dans les champs donc reremplir le tableau.

    J'ai réalisé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(!empty($_POST['Num_Cor'])){
    		$Num_Cor = $_POST['Num_Cor'];
    		echo "<script> 
    		var Num_Cor = '".$Num_Cor."'; 
    		RemplissageFormulaire(Num_Cor);
    		</script>";
    		$were = " ".$query."[Num_Correspondant] = '".$Num_Cor."'";
    		if(empty($were))
    		{	$query = " AND ";	}
    	}
    Avec comme fonction JS un peu plus bas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function RemplissageFormulaire(LeID){
    		if(LeID != '')
    		{ $('LeID').value = LeID; }		
    	}
    Bon je dois avoir une erreur de syntaxe car j'ai une erreur
    " 'null' a la valeur Null ou n'est pas un objet"


    Bon si je ne me suis pas tromper, le JS ne peux pas récupérer une variable php, ou en tout cas j'ai pas réussit. De plus avec le php je peux créer mon code JS, donc je créer une variable JS avec le php ET je l'envoi dans le fonction JS, comme le JS est exécuté chez le client cela devrai fonctionner.

    Seulement même avec le premier chargement, ou tout les variable sont inexistante, j'ai l'erreur.

    Je ne voit pas ou est ma faute. Pouvez vous m'aider svp?

    PS: oui je sais que je pourrais le faire en php, mais c'est pas mon choix.
    Je vous remercie d'avance pour vos lumières.

  2. #2
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    le souci ne provient pas de javascript, mais de php

    il te manque un test isset

    par contre pourquoi passer par une fonction js, alors que tu pourrais écrire en direct dans le value="<?php echo ( (isset( $_POST['Num_Cor'])? $_POST['Num_Cor']:""); ?>"
    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 !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut
    Bonjour, merci de votre réponse si rapide SpaceFrog.

    Pour répondre a votre question je dirai simplement que je ne sais pas l'idée de le faire en JS me paraissait bien mieux.

    Ensuite une fois lancé j'aime pas beaucoup rester sur un échec. D'ou ma question avec le code.

    Pour vous le problème viendrais de mon empty? normalement avec la condition, si la variable post n'existe pas on ne dois pas rentrer dans la boucle, et donc on ne dois pas écrire le code JS.

    Non?

    J'ai mit un "alert()" dans la condition et rien ne s'affiche c'est que je ne rentre pas dedans normalement alors pourquoi cette erreur?
    Je vous remercie d'avance pour vos lumières.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Pour vous le problème viendrais de mon empty?
    Malheureusement, pas seulement...
    Il y a beaucoup de choses à revoir

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $Num_Cor = $_POST['Num_Cor'];
    Hum, utiliser une valeur POST sans aucune vérification pour l'insérer dans un script ! Quel bonheur pour hacker ton site !

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var Num_Cor = '".$Num_Cor."'; 
    RemplissageFormulaire(Num_Cor);
    Apparemment, ton paramètre est un nombre (ou au moins une chaine).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('LeID').value = LeID;
    Si je suppose que $() vient de jQuery, tu as vraiment une balise dont le nom est celui passé en paramètre ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut
    Bonjour Bovino,

    Vous avez raison pour la sécurité j'aurai du le faire mais j'ai pas prit le temps de la faire. Heureusement pour moi il s'agit d'un outil interne, mais je vais y remédier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var Num_Cor = '".$Num_Cor."'; 
    RemplissageFormulaire(Num_Cor);
    Pour ce genre de variable car j'en ai une bonne 15ene, j'attend soit des nombre soit des dates soit des characteres.

    Puis je n'utilise pas jquery j'ai copier une fonctione toute simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function $(monID){
    		return document.getElementById(monID);
    	}

    tu as vraiment une balise dont le nom est celui passé en paramètre ?
    Effectivement J'ai des <input> avec les id passer en paramètre grâce au formulaire et donc récupéré par le $_POST.

    Techniquement cela devrai fonctionner non?
    Je vous remercie d'avance pour vos lumières.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ca dépend

    Il faudrait voir le HTML généré !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut
    C'est a dire que désirez vous voir?
    réellement de généré il n'y a que la requête sinon je peut donner un exemple de html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <table align ="center">
    					<tr>
    						<th><label for='Nom_Cor'>Nom Correspondant :</label></th>
    						<td><input class="input" type='text' name='Nom_Cor' id='Nom_Cor' <?php if(!empty($_POST['Nom_Cor'])){ echo "value='".$Nom_Cor."'";       }?>/></td>
    						<th><label for='Num_Cor'>Num Correspondant :</label></th>
    						<td><input class="input" type='text' name='Num_Cor' id='Num_Cor' <?php if(!empty($_POST['Num_Cor'])){ echo "value='".$Num_Cor."'";       }?>/></td>
    					</tr>
    </table>
    cela répond t'il au attente?
    bien évidement j'en ai une dizaine d'autre champs mais si cela fonctionne pour l'un cela fonctionnera pour l'autre.
    Je vous remercie d'avance pour vos lumières.

  8. #8
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    c'est dans le value qu'il faut faire l'echo ...
    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 !

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Mouais... c'est amplement suffisant (même si c'est pas exactement de HTML généré...)
    Déjà, un id doit être unique dans la page.
    Ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Num_Cor = $_POST['Num_Cor'];
    j'imagine que $Num_Cor ne vaut pas systématiquement "Nom_Cor" donc ça rend encore plus impossible de retrouver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return document.getElementById(monID);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut
    Bonjour SpaceFrog,

    Dans les deux cas cela fonctionne de votre manière ou de la mienne, je ne vois pas qu'elle différence cela peut faire.

    Peut être y a t'il une subtilité qui m'échappe ? enfin de toute façon c'est pas ce morceau de code qui m'intéresse je préfère faire cette manipulation en JS on économie en ligne de code et c'est plus lisible.
    Je vous remercie d'avance pour vos lumières.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut
    Bovino:

    Alors qu'entendez vous donc par
    c'est amplement suffisant (même si c'est pas exactement de HTML généré...)
    je suis curieux

    Déjà, un id doit être unique dans la page.
    Sachez que tout mes ID sont uniques regardez bien
    id='Num_Cor'
    L'un c'est Num l'autre c'est Nom....


    j'imagine que $Num_Cor ne vaut pas systématiquement "Nom_Cor" donc ça rend encore plus impossible de retrouver
    La je ne suis pas sur de bien comprendre.
    une chose est sur c'est que $Num_Cor n'a rien a voir avec "Nom_Cor" mais "Num_Cor " et donc pour j'aurai $Nom_Cor vaudra "Nom_Cor".

    ensuite quand j'appel la fonction $('Num_Cor '), elle me retournera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(monID)
    ou "monID" vaut 'Num_Cor'


    Voila j’espère être suffisamment clair.
    Je vous remercie d'avance pour vos lumières.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut
    bon je fais des essaye c'est tres bisard, je pense que c'est le format de mes variable que j'envoi.
    c'est a dire que je met des alert();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(!empty($_POST['Num_Cor'])){
    		$Num_Cor = $_POST['Num_Cor'];
    		echo "<script language='javascript'> var Num_Cor = '".$Num_Cor."'; 
    		alert(Num_Cor);
    		RemplissageFormulaire(Num_Cor);
    		</script>";
    		$were = " ".$query."[Num_Correspondant] = '".$Num_Cor."'";
    		if(empty($were))
    		{	$query = " AND ";	}
    	}
    J'ai donc bien le alert qui se déclenche ensuite j'ai dans ma fonction ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function RemplissageFormulaire(LeID){
    		alert(LeID);
    		if(LeID != '')
    		{ $('LeID').value = LeID; }		
    	}
    Et la le alert ne passe pas.
    je ne voit pas pourquoi

    j'ai tester ceci pour etre sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function RemplissageFormulaire(LeID){
    		alert(LeID);
    		if(LeID != '')
    		{ document.getElementById('LeID').value = LeID; }		
    	}
    J'ai toujours le même message d'erreur:

    Objet attendu
    Je vous remercie d'avance pour vos lumières.

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    je suis désolé je fait un up, je ne trouve pas le problème et je suis convaincu que cela peut débloquer un autre problème de RAZ des champs.

    merci d'avance.
    Je vous remercie d'avance pour vos lumières.

Discussions similaires

  1. Utilisation d'une variable php dans popup javascript
    Par cybernetique dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/01/2008, 21h27
  2. Réponses: 7
    Dernier message: 05/01/2008, 19h37
  3. Réponses: 8
    Dernier message: 29/06/2006, 15h37
  4. [SQL] Puis-je insérer une variable PHP pour déterminer ORDER BY ?
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/05/2006, 01h41
  5. Réponses: 2
    Dernier message: 09/02/2006, 19h06

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