Rechercher : dans
Par :

Onchange() dans un select

Dernière réponse le 18 fév 2008 à 11:31:33 fred, le 6 mai 2005 à 10:04:31 
 Signaler ce message aux modérateurs

Bonjour, j'ai un petit souci :
en faite, j'aimerais "juste" que lorsqu'un utilisateur séléctionne sur la ville "autre" de ma listé déroulante, un champ text apparaisse pour quil puisse saisir sa ville.Tout ca sans qu'il ait valider son formulaire.j'ai pensé a mettre le code de ce champ text dans un <div> de manière a le rendre ivisible/invisible mais ca ne fonctionne pas. Un peu d'aide serait la bienvenue ....!
Merci d'avance !


<SCRIPT language="JavaScript">

function RendVisibleVille()
{ //on teste si la valeur sélectionnée dans la liste "select_ville" est la valeur "autre" :

if(document.formulaire.elements['select_ville'].options[document.formulaire.elements['select_ville'].selectedIndex].value == "autre" )
{ 
//si c'est le cas on rend la zone de saisie "ville_saisie" active

document.getElementById('test').style.display == inherit;

}
else {
document.getElementById('test').style.display == none;
//sinon on la rend inactive
}

}
</script>

// dans le body :
<FORM ACTION="index.php" name="formulaire">
<SELECT size=1 onchange="RendVisibleVille()" name=select_ville >
<OPTION value="paris">Paris</OPTION>
<OPTION value="marseille">Marseille</OPTION>
<OPTION value="metz">Metz</OPTION>
<OPTION value="autre">autre</OPTION>
</SELECT>
<div style="display:none" id="test"><input type="text" name="ville_saisie"</div>
<input type="submit">
</form>

1

leosqual, le 7 mai 2005 à 00:29:01

//ds head
<script language='javascript'>
function RendVisibleVille(texte)
{
if (texte=="autre")
document.getElementById("test").style.visibility= 'visible';
else
document.getElementById("test").style.visibility= 'hidden';
}
</script>


//ds body

<FORM ACTION="index.php" name="formulaire">
<SELECT size=1 onchange="RendVisibleVille(this.value)" name=select_ville >
<OPTION value="paris">Paris</OPTION>
<OPTION value="marseille">Marseille</OPTION>
<OPTION value="metz">Metz</OPTION>
<OPTION value="autre">autre</OPTION>
</SELECT>

<div id="test" style="visibility:hidden">
<input type="text" name="ville_saisie"></div>
<input type="submit">
</form>

si t'a des soucis pour implementer cela n'hesite pas !

Répondre à leosqual

2

Eric, le 17 fév 2007 à 23:08:27

Bonjour, j'aimerais faire unpeu parail mais comment faire pour recupera la value stp, si c'est autre il y a un input type="text" qui apparai comment je recupere celui la ?

Répondre à Eric

3

bennap, le 23 mar 2007 à 08:58:18

C'est normal,car quand tu choisis la valeur "autre", on dit au script de rendre visible le champs texte que l'on cachait jusque là !!

Répondre à bennap

4

Eric, le 23 mar 2007 à 11:16:59

Mais comment ?

Répondre à Eric

5

leosqual, le 26 mar 2007 à 12:11:18

Quoi comment?? qu'est-ce que tu veux faire ??

Répondre à leosqual

6

Eric, le 26 mar 2007 à 13:22:01

Je veux savoir comment on utilise le OnChange dans un formulaire... que si on prend Autre dans un menu defilant ya un input text qui apparrait. si on choisi Autre et on rechoisi un autre truck par la suite... le champs apparai et disparait...

Répondre à Eric

7

leosqual, le 26 mar 2007 à 13:26:12

:-/
t'a déjà toute la réponse...

Répondre à leosqual

8

Thibs, le 6 fév 2008 à 17:41:47

J'ajouterais à cet exposé qu'il vaut mieux utiliser style.display plutôt que style.visibility.

La différence est qu'avec style.visibility=hidden l'espace sur la page est réservé ce qui n'est pas le cas avec style.display=none

Sinon j'aurais tendance à faire en sorte que l'affichage/désaffichage soit dans des fonctions

<script language="JavaScript" type="text/javascript">
function DisplayBox(hiddenbox) {
hiddenbox.style.display = 'block';
}
function HideBox(hiddenbox) {
hiddenbox.style.display = 'none';
}
function Testifhiddenbox1ShouldbeDisplayed(selectedvalue) {
if (selectedvalue==1)
DisplayBox(document.getElementById('hiddenbox1'));
else HideBox(document.getElementById('hiddenbox1'));
}
</script>

(évidemment si il y a plusieurs boxes il vaut mieux adapter Testifhiddenbox1ShouldbeDisplayed pour lui passer en paramètre le nom de la box et la valeur pour qu'elle s'affiche)

Répondre à Thibs

9

 Probleme en Java script, le 18 fév 2008 à 11:31:33
  • +1

J'ai le code suivant et je veux qu'il m'affiche le menu dynamique apres le div et il ne le fait pas.

Prière aidez moi svp


<?php
$base=mysql_connect("localhost", "root", "clientmattel");
mysql_select_db("baseclientnew");
session_start();
//$_SESSION['login']=$_POST['login'];

// session_start();
$login=$_SESSION['login'];
echo "le login est:".$login;

//$login=$_GET['login'];
$query="select * FROM user WHERE login = '$login' ";
//echo "login ".$login;
$compte_num=$_GET['num_compte'];
// echo "Compte num ".$compte_num;

$resultat=mysql_query($query);
$result = mysql_fetch_array($resultat, MYSQL_ASSOC);

if($result['droit'] == '0')
{?>

<script language="javascript"
type="text/javascript">
<!--
alert("Vous n'avez pas le droit de saisie");
window.location.replace( "top.html");
-->
</script>
<script src="calendar.js"></script>

<?}?>



<script type="text/javascript">
function test2() {
var s_g_p=document.getElementById('statut');
if((s_g_p.value != 'P')
{

document.getElementById('silk_gfu_plus').style.visibility = 'visible' ;
document.getElementById('silk_gfu_plus').style.display='block';
}
else
{
document.getElementById('silk_gfu_plus').style.visibility = 'hidden' ;
//document.getElementById('silk_gfu_plus').style.display='block';

}

}



<div align="center">
<script src="calendar.js"></script>


<form name="form1" method="post" action="addphoneV.php" >

<p>Numero de téléphone:  <input name="tel_num" type="text" id="tel_num">
</p>
<p>Numero de compte :     <select name="compte_num">

<?php $base=mysql_connect("localhost", "root", "clientmattel");
mysql_select_db("baseclientnew");
$query = "SELECT compte_num FROM client ";

$results = mysql_query($query) or die("Query failed");

while ($result = mysql_fetch_array($results, MYSQL_ASSOC))
{
echo $compte_num;
if($compte_num==$result['compte_num'])
echo '<option selected>'.$result['compte_num'].'</option>';
else
echo '<option>'.$result['compte_num'].'</option>';
}


?>

</select>




<p>Date d'acquisition :     

<input type="text" name="date_acquisi" value="" onfocus="this.select();lcs(this)" onclick="event.cancelBubble=true;this.select();lcs(this)">




<script type="text/javascript">
function test2() {
var s_g_p=document.getElementById('statut');
if(s_g_p.value != 'P')
{
document.getElementById('silk_gfu_plus').style.visibility = 'visible' ;
document.getElementById('silk_gfu_plus').style.display='block';
}
else
{
document.getElementById('silk_gfu_plus').style.visibility = 'hidden' ;
//document.getElementById('silk_gfu_plus').style.display='block';

}

}



</script>


<script src="calendar.js"></script>

</head>

<body>
<form name="form1" method="post" action="saisie.php" onSubmit="return ValidCinPassp();">



<p>Etat du téléphone:      
<select name="etat">
<option>Actif</option>
<option>Expiré</option>
<option>Fermé</option>
</select>
</p>
Statut du Client :        
<select name="statut" id="statut" onChange="return test2();">
<option value="P" selected>PREP</option>
<option value="G">GFU</option>
<option value="S">SILK</option>
</select>
</p>





<div id="silk_gfu_plus" style="visibility:hidden;">

<form name="form1" method="post" action="saisiesociete.php" >
<p>Nom de la Société:    
<select name="nomsociete" id="nomsociete" onChange="return test3();">


<?php
$base=mysql_connect("localhost", "root", "clientmattel");
mysql_select_db("baseclientnew");
$query = "SELECT nom_societe FROM societe ";

$results = mysql_query($query) or die("Query failed");
while ($result = mysql_fetch_array($results, MYSQL_ASSOC))
{
echo $nom_societe;
if($nomsociete==$result['nom_societe'])
echo '<option selected>'.$result['nom_societe'].'</option>';
else
echo '<option>'.$result['nom_societe'].'</option>';
}
echo '<option>'.'autre'.'</option>';
echo '</select>';
?>


</div>










<script type="text/javascript">
function test3() {
var ns=document.getElementById('nomsociete');
alert(ns.value);
if(ns.value == 'autre')
{
document.getElementById('n_societe').style.visibility = 'visible' ;
document.getElementById('n_societe').style.display='block';
}
else
{

document.getElementById('n_societe').style.visibility = 'hidden' ;
//document.getElementById('n_societe').style.display='block';

}

}

</script>

<div id="n_societe" style="visibility:hidden;">

<html>

<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle Société</title>
</head>

<body>

<p>Nom de la société:      
<input id="nom_societe" name="nom_societe" size="21">
Numéro du registre :
<input id="num_reg_comm" name="num_reg_comm">
Nom du gérant:     
<input id="nom_gerant" name="nom_gerant" size="21">
</p>
<p>Prénom du gérant :      
<input id="prenom_gerant" name="prenom_gerant">
Nom de la famille :   
<input id="nom_fam_gerant" name="nom_fam_gerant">
 Identification:        
<input id="num_iden_gerant" name="num_iden_gerant" size="21">
</p>
<p>Passeport du gérant :   
<input id="pass_gerant" name="pass_gerant">
    Téléphone gérant :
<input id="num_tel_gerant" name="num_tel_gerant">
N°fixe gérant:        
<input id="num_fixe_gerant" name="num_fixe_gerant" size="21">
</p>
<p>N°fax gérant:              
<input id="num_fax_gerant" name="num_fax_gerant" size="21">
Adresse du gérant  :
<input id="adr_gerant" name="adr_gerant">
Capital social:         
<input id="cap_social" name="cap_social" size="21">
     </p>
<p>  N° Fiscal :                
<input id="num_iden_fisc" name="num_iden_fisc">
  Secteur d'activité:    
<input id="sec_activite" name="sec_activite" size="21">
Responsable         
<input id="nom_resp_rel_mattel" name="nom_resp_rel_mattel">
</p>
<p>URL du document :    
<input id="url_doc" name="url_doc" size="21">
</p>





</div>


</body>


<p> </p>



<p align="center"> <input name="Envoyer" type="submit" id="Envoyer" value="Envoyer">
</p>
<p> </p>
<p> </p>
</form>
</html>

<?php
?>

Répondre à Probleme en Java script
Collection CommentÇaMarche.net