Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2012, 13h25   #1
Membre du Club
 
Inscription : septembre 2009
Messages : 316
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 316
Points : 48
Points : 48
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 :
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 :
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.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 13h35   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 079
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 079
Points : 45 210
Points : 45 210
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
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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 13h44   #3
Membre du Club
 
Inscription : septembre 2009
Messages : 316
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 316
Points : 48
Points : 48
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.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 09h00   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 778
Points : 35 778
Citation:
Pour vous le problème viendrais de mon empty?
Malheureusement, pas seulement...
Il y a beaucoup de choses à revoir

Code php :
$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 :
1
2
var Num_Cor = '".$Num_Cor."'; 
RemplissageFormulaire(Num_Cor);
Apparemment, ton paramètre est un nombre (ou au moins une chaine).
Code :
$('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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 10h16   #5
Membre du Club
 
Inscription : septembre 2009
Messages : 316
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 316
Points : 48
Points : 48
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 :
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 :
1
2
3
function $(monID){
		return document.getElementById(monID);
	}

Citation:
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.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 10h22   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 778
Points : 35 778
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 11h55   #7
Membre du Club
 
Inscription : septembre 2009
Messages : 316
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 316
Points : 48
Points : 48
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 :
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.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 11h57   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 079
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 079
Points : 45 210
Points : 45 210
c'est dans le value qu'il faut faire l'echo ...
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 12h01   #9
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 778
Points : 35 778
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 :
$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 :
return document.getElementById(monID);
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 14h25   #10
Membre du Club
 
Inscription : septembre 2009
Messages : 316
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 316
Points : 48
Points : 48
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.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 14h34   #11
Membre du Club
 
Inscription : septembre 2009
Messages : 316
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 316
Points : 48
Points : 48
Bovino:

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

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


Citation:
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 :
document.getElementById(monID)
ou "monID" vaut 'Num_Cor'


Voila j’espère être suffisamment clair.
__________________
Je vous remercie d'avance pour vos lumières.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 15h20   #12
Membre du Club
 
Inscription : septembre 2009
Messages : 316
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 316
Points : 48
Points : 48
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 :
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 :
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 :
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.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2012, 11h31   #13
Membre du Club
 
Inscription : septembre 2009
Messages : 316
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 316
Points : 48
Points : 48
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.
darkterreur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h32.


 
 
 
 
Partenaires

Hébergement Web