begin process at 2012 05 28 23:48:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

champ d'un formulaire alimenté par une liste de choix


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

champ d'un formulaire alimenté par une liste de choix

mardi 15 décembre 2009 à 22:04:31 | champ d'un formulaire alimenté par une liste de choix

jeremili

Bonjour,

Je voudrais créer un formulaire avec des champs pouvant être alimentés par une pop-up contenant des données issues d'une table.

ex:
En face de chaque champ il y aurait une loupe, si je clique sur la loupe une pop-up s'ouvre, celle-ci contient des données issues d'une table et si je clique sur une donnée celle ci alimente le champ du formulaire.

J'aurais voulu savoir quel langage utiliser et notamment savoir s'il est possible de le faire en javascript et PHP et si oui auriez vous quelque exemple.

Merci d'avance

Cdt

Jérémy


mercredi 16 décembre 2009 à 03:23:14 | Re : champ d'un formulaire alimenté par une liste de choix

jdmcreator

Bonjour,

Je n'ai pas d'exemple pour toi, malheureusement, mais je peux te donner quelques pistes. Pour modifier un champ de formulaire, on utilise la propriété value

Pour modifier la page d'un popup, on utilise window.opener


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
mardi 29 décembre 2009 à 23:34:45 | Re : champ d'un formulaire alimenté par une liste de choix

jeremili

Bonsoir,

J'ai réussi à faire a peu près ce que je souhaitais.

En face de mon champ text j'ai un lien qui ouvre un pop-up,dans ce pop-up j'ai une liste déroulante alimentée par une base de données et lorsque je clique sur une valeur de la liste déroulante, celle-ci est reportée dans le champ text de la fenêtre "mère".

Maintenant ce que je voudrais, au lieu d'avoir une liste déroulante dans mon pop-up je voudrais une liste (tableau), que chaque ligne soit cliquable et que lorsque je clique sur une ligne celle ci soit reporté dans le champ de la fenêtre mère.

Voici le code de mon pop-up (qui fonctionne) avec la liste déroulante:

Code HTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
	
	<head>
		
		<title>Popup</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<script language="javascript">
			function Reporter(l) 
			{
			var cencpt_cod=l.options[l.options.selectedIndex].value;
			window.opener.document.forms["test"].elements["test_cod"].value=test_cod;
			window.close();
			}
		</script>

	</head>

<body>
	
<?php
include ("connect.php");
?>

<form name='report'>
   <select onChange="Reporter(this)">
<?php
if($cod==""){
echo('<option value="'.'">'.'Choisir'.'</option>');
}
else
{
echo('<option value="'.'">'.'</option>');}
$SQL = "SELECT * FROM TEST";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
echo "<option>".$val["COD"]. ' - '.$val["LIB"]."</option>\n";
}
?>
   </select><br><br>

</form>

<!-- <A href="javascript:window.close()">Fermer la pop-up</A>  (lien pour fermer la pop-up mauellement) -->

<?php
include ("disconnect.php");
?>

</body>

</html>


Et voici mon code avec la liste (tableau) que je n'arrive pas a faire fonctionner:

Code HTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
	
	<head>
		
		<title>Popup</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<script language="javascript">
			function Reporter(l) 
			{
			var cencpt_cod=l.options[l.options.selectedIndex].value;
			window.opener.document.forms["test"].elements["test_cod"].value=test_cod;
			window.close();
			}
		</script>

	</head>

<body>
	
<?php
include ("connect.php");
?>

<form name='report'>
 
<?php


$SQL = "SELECT COD,LIB FROM TEST";
$res = mysql_query($SQL);
while($row=mysql_fetch_row($res)) 
{

$Cod = $row[0];
$Lib = $row[1];


?>
	<tr>
	<td><a href="javascript:Reporter(this)"><?php echo $Cod ?></a></td>
	<td><?php echo $Lib ?></td>
	<br />
	</tr>

<?php
}
?>
  

</form>

<?php
include ("disconnect.php");
?>

</body>


Lorsque je clique sur une ligne la fonction Reporter semble ne pas être appelée et la valeur n'est pas reportée dans la fenêtre mère.

Merci d'avance pour votre aide

Cdt

Jérémy

mercredi 30 décembre 2009 à 03:37:23 | Re : champ d'un formulaire alimenté par une liste de choix

jdmcreator

Code Javascript :
function Reporter(l) 
			{
			var cencpt_cod=l.options[l.options.selectedIndex].value;
			window.opener.document.forms["test"].elements["test_cod"].value=test_cod;
			window.close();
			}


Tu ne peux pas mettre 1 comme nom de variable. Cela ne respecte pas les règles. Remplace le plutôt par un nom comme "element" ou plus simplement "a" ;)


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
mercredi 30 décembre 2009 à 14:04:29 | Re : champ d'un formulaire alimenté par une liste de choix

jeremili

Bonjour,

Je viens de remplacer "1" par "element" afin de respecter au mieux les règles, cependant cela ne modifie pas le comportement et ne résout pas mon problème.

Malgré le peu de connaissance que j'ai en prog, je soupçonne que le problème vienne de l'affectation de valeur à la variable test_cod et notamment le selectIndex

Code Javascript :
function Reporter(element) 
			{
var test_cod=element.options[element.options.selectedIndex].value;
	window.opener.document.forms["test"].elements["test_cod"].value=test_cod;
window.close();
			}


car dans le cas d'une liste (tableau) il n'y a pas de select dans le formulaire.

Quelqu'un aurait une idée?

Merci

Cdt

Jérémy
mercredi 30 décembre 2009 à 17:10:58 | Re : champ d'un formulaire alimenté par une liste de choix

jdmcreator

En effet, il me semble qu'il suffit de mettre element.selectedIndex et non element.options.selectedIndex


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
jeudi 31 décembre 2009 à 11:12:15 | Re : champ d'un formulaire alimenté par une liste de choix

jeremili

Cela ne change toujours rien....
jeudi 31 décembre 2009 à 16:00:48 | Re : champ d'un formulaire alimenté par une liste de choix

jdmcreator

Mais que te retourne la console d'erreur ????


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
jeudi 31 décembre 2009 à 16:03:49 | Re : champ d'un formulaire alimenté par une liste de choix

jdmcreator

En passant, dans ton code, je ne trouve pas le formulaire "test" ni l'élément "test_cod" ... Est-ce que je pourrais voir le code au complet ?


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
samedi 2 janvier 2010 à 15:27:55 | Re : champ d'un formulaire alimenté par une liste de choix

jeremili

Bonjour JDMCreator,

Avant tout je te remercie du temps que tu consacre a mon pb.

Sinon voici le code complet en 3 fichiers:

Le premier fichier index.php (formulaire)

Code PHP :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>

<title>TEST</title>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="Content-Language" content="fr" />
    <script type="text/javascript" src="open_popup_test.js"></script>
</head>
<body>
<?php
mysql_connect(localhost, root, root) or die('<h1>Connexion au serveur impossible !</h1>');
mysql_select_db(test2) or die('<h1>Connexion impossible à la base</h1>');
?>

<form name='test'>
	TEST:
   	<input type="text" name="test_cod">
		<a href="javascript:open_popup_test()">Ouverture popup</a><br><br>

<?php
mysql_close();
?>
  </body>

</html>


Puis le fichier contenant la fonct° javascript nommée open_popup_test.js:

Code Javascript :
function open_popup_test()
{
window.open("popup_test.php", "TEST", "toolbar=yes, status=yes, scrollbars=yes, resizable=no, width=300, height=300");
}


Puis la pop-up nommée popup_test.php:

Code PHP :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
	
	<head>
		
		<title>Popup</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<script language="javascript">
			function Reporter(element) 
			{
			var test_cod=element.[element.selectedIndex].value;
			window.opener.document.forms["test"].elements["test_cod"].value=test_cod;
			window.close();
			}
		</script>

	</head>

<body>
	
<?php
mysql_connect(localhost, root, root) or die('<h1>Connexion au serveur impossible !</h1>');
mysql_select_db(test2) or die('<h1>Connexion impossible à la base</h1>');
?>

<form name='report'>
<?php
$SQL = "SELECT COD,LIB FROM TEST";
$res = mysql_query($SQL);
while($row=mysql_fetch_row($res)) 
{
$cod = $row[0];
$lib = $row[1];
?>
<table>
	<tr>
	<td><a href="javascript:Reporter(this)"><?php echo $cod ?></a></td>
	<td><?php echo $lib ?></td>
	<br />
	</tr>
</table> 

<?php
}
?>
</form>

<?php
mysql_close();
?>
</body>
</html>


Et si tu veux voici le script de schéma Mysql:

Code :
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE TABLE IF NOT EXISTS `test` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `COD` varchar(5) COLLATE utf8_unicode_ci NOT NULL,
  `LIB` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `ID` (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;

-- Contenu de la table `test`

INSERT INTO `test` (`ID`, `COD`, `LIB`) VALUES
(1, '1111', 'TEST1'),
(2, '2222', 'TEST2'),
(3, '3333', 'TEST3'),
(4, '4444', 'TEST4');


Avec ce code lorsque je clique sur une valeur de la pop-up il ne se passe rien, alors que si je met le code suivant dans le fichier popup_test.php c'est OK:

Code PHP :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
	
	<head>
		
		<title>Popup</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<script language="javascript">
			function Reporter(element) 
			{
			var test_cod=element.options[element.options.selectedIndex].value;
			window.opener.document.forms["test"].elements["test_cod"].value=test_cod;
			window.close();
			}
		</script>

	</head>

<body>
	
<?php
mysql_connect(localhost, root, root) or die('<h1>Connexion au serveur impossible !</h1>');
mysql_select_db(test2) or die('<h1>Connexion impossible à la base</h1>');
?>

<form name='report'>
   <select onChange="Reporter(this)">
<?php
if($cod==""){
echo('<option value="'.'">'.'Choisir'.'</option>');
}
else
{
echo('<option value="'.'">'.'</option>');}
$SQL = "SELECT COD,LIB FROM TEST";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
echo "<option>".$val["COD"]. ' - '.$val["LIB"]."</option>\n";
}
?>
   </select><br><br>

</form>
<?php
mysql_close();
?>

</body>

</html>


Merci d'avance pour ton aide et bonne année.

Cdt

Jérémy

1 2 3

Cette discussion est classée dans : formulaire, liste, champ, choix, alimenté


Répondre à ce message

Sujets en rapport avec ce message

Javascript : Lier plusieurs listes déroulantes [ par bolbo ] Bonjour, J'ai une question en javascript, concernant l'utilisation des listes déroulantes. J'ai un ensemble de champs dans ma base de données, et je Passage d'une variable dans un formulaire [ par jeanmarieb ] Bonjour, Je voudrais me servir du résultat du champ précédent dans le champ suivant Exemple : suivant le choix effectué dans le champ où je peux Afficher les infos d'une liste deroulante dans un champs [ par MrAnonym ] Bonjour, je m'excuse pour le choix du theme je ne savais pas trop ou poster. Donc voici mon problème, je voudrais afficher les selctions de plusieur Script de vérification de formulaire avec des choix cachés [ par benetophe ] Bonjour à tous,Je poste ce message car je sèche royalement sur un script de vérification de formulaire.Après plusieurs jours de recherche sur la toile Petite aide en AJAX [ par definet ] Bjr, Voila mon problème je voudrais faire en ajax: Je voudrais avoir une liste déroulante avec quelque option et une option fixe qui me propose de r FORMULAIRE [ par parenthese101 ] Bonjour à tous et à toutes, Sur l'une de mes pages web, j'ai des boutons qui ouvrent tous le même formulaire. Comment faire pour que au clic de chacu Bouton et liste déroulante dans un formulaire [ par lebender33 ] Bonjour à tous, Ca fait super longtemps que je n'avais pas codé et je me suis lancer dans un script grease monkey html/javascript pour rendre l'utili Afficher une variable dans une zone de texte d'un formulaire se trouvant sur une popup [ par xacomputer ] Bonjour, voila mon problème, je souhaiterais changer la valeur du champ d'un formulaire par une variable, sans utiliser de bouton, la difficulté est q PHP/Javascipt et formulaire dynamique [ par tiquisrd ] Bonjour, je suis entrain de monter une page PHP avec un formulaire qui contient, entre autre, une liste de départements (requête PHP/MySQL). Je souhai Popup css? avec formulaire inside [ par DaD92 ] Salut à tous, Je ne suis pas très fort en développement, je connais un peu les CSS et le php, mais mon petit cerveau c'est arrêté là pour l'instant.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales