remplacement d'un select par un champ de type text

Eléphanteau du PHP | 32 Messages

20 févr. 2006, 17:42

Bonjour à tous,

j'ai un petit problème en JS (pas mon fort) ...
Je cherche à remplacer un select par un champ text sans rechargement de la page, en cliquant sur une image par exemple et vice-versa....

les scripts simplifiés pour faciliter la compréhension suivent...

le php tout d'abord pour construire le select :
<?
$req_ville=mysql_query("select id_ville,id_nom from tbl_villes order by id_nom");
	if (mysql_num_rows($req_ville)!="0")
	{
		while($result_req_ville = mysql_fetch_array($req_ville))
		{
		$villes_return.="<option value=\"".$result_req_ville['id_ville']."\">".$result_req_ville['id_nom]."</option>";
		}
	}
$select_villes="<select class=\"select_blanc\" name=\"id_ville\" style=\"width:100px;\">".$villes_return."</select>";
?>
le html ensuite

Code : Tout sélectionner

<tr> <td><a href="#" onclick="quoifaire?"><img src="/img/img_landa.gif" width="20" height="20" border="0" name="img_a_cliquer" alt="" /></a></td> <td><? echo $select_villes; ?></td> </tr>
en fait ce que je n'arrive pas à trouver, c'est comment remplacer en cliquant sur l'image "img_a_cliquer", le select des villes par un

Code : Tout sélectionner

<input type="text" class="input" style="width:100px" value="" name="id_villes_autre" />
et vice-versa...

et que bien sur cette nouvelle valeur soit prise en compte dans le $_POST du formulaire

en espérant être clair, merci d'avance à celui, ceux qui pourront m'aiguiller.... je patauge grave...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

20 févr. 2006, 18:45

Salut,

voila une proposition fonctionelle que tu peux adapter à tes besoins:
<html>
<head>
<script type="text/javascript">

function change()
{
   var elem_text = document.forms['form'].elements['champ1'];
   var elem_liste = document.forms['form'].elements['liste1'];   
   
   
   if (elem_text.style.visibility == "hidden")
   {   
      elem_text.style.visibility="visible";	  
	  elem_text.style.display="inline";
	  
	  elem_liste.style.visibility="hidden";
	  elem_liste.style.display="none";
   }
   else
   {      
      elem_text.style.visibility="hidden";
	  elem_text.style.display="none";
	  
	  elem_liste.style.visibility="visible";
	  elem_liste.style.display="inline";
   }
} 

</script>

</head>
<body>
	<form name="form">
		
		<input type="text" name="champ1" value="" style="visibility: hidden; display: none">
		
		<select name="liste1" >
			<option value="0">0</option>
			<option value="1">1</option>
			<option value="2">2</option>
			<option value="3">3</option>
		</select>
		
		<a href="#" onClick="change();"> Autre </a>
	</form>
</body>
</html>

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 32 Messages

20 févr. 2006, 19:23

c'est trop fort, merci encore ça marche nickel

me reste plus qu'à tester sur tous les navigateurs et OS

encore merci