Garder une saisie apres selection liste PHP
Résolu
nawak.seb
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
-
nawak.seb Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
nawak.seb Messages postés 65 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Garder une saisie apres selection liste PHP
- Liste déroulante excel - Guide
- Saisie gestuelle iphone - Guide
- Comment saisir une adresse url - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
6 réponses
Après longue réflection , j'ai trouvé une solution:
dans mon script javascript:
dans mon select :
et sur les bouton radio :
Ce n'est pas jolie, mais ça fonctionne.
dans mon script javascript:
<script language="javascript"> function toto() { var valeurradio1 = document.getElementById('bradio1').checked; var valeurradio2 = document.getElementById('bradio2').checked; var valeurradio3 = document.getElementById('bradio3').checked; var valeurradio4 = document.getElementById('bradio4').checked; document.getElementById('radio2').checked = valeurradio1; document.getElementById('radio3').checked = valeurradio2; document.getElementById('radio4').checked = valeurradio3; document.getElementById('radio5').checked = valeurradio4; document.forms['form1'].submit(); } </script>
dans mon select :
echo '<input type="radio" name="radio2" style="display:none" />'; echo '<input type="radio" name="radio3" style="display:none"/>'; echo '<input type="radio" name="radio4" style="display:none"/>'; echo '<input type="radio" name="radio5" style="display:none"/>';
et sur les bouton radio :
<input <? if ($_POST['radio2']){echo "checked='checked'";} else {echo "";}?> type="radio" id="bradio1" name="bradio" value=""> <input <? if ($_POST['radio3']){echo "checked='checked'";} else {echo "";}?> type="radio" id="bradio2" name="bradio" value=""> <input <? if ($_POST['radio4']){echo "checked='checked'";} else {echo "";}?> type="radio" id="bradio3" name="bradio" value="" > <input <? if ($_POST['radio5']){echo "checked='checked'";} else {echo "";}?> type="radio" id="bradio4" name="bradio" value="">
Ce n'est pas jolie, mais ça fonctionne.
Finalement, j’ai trouvé
Si ça peu servir, je mets mon code a dispo.
J’ai utilisé du JavaScript, de plus, j’ai supprimé les notices.
Si ça peu servir, je mets mon code a dispo.
J’ai utilisé du JavaScript, de plus, j’ai supprimé les notices.
<html> <head> <script language="javascript"> function toto() { var form1 = document.getElementById('form1'); var form5 = document.getElementById('form5'); var valeurtext = document.getElementById('text').value; //document.write(valeurtext); document.getElementById('text2').value = valeurtext; //alert('lol'); document.forms['form1'].submit(); } </script> </head> <body> <table width="391" border="1"> <tr> <td> <form name="form1" method="POST" action=""> <? $odbc = odbc_connect( 'exemple_selection' , 'root' , '') or die ("Impossible de se connecter à la bas de donnée") ; $sql="select * from nom order by nom"; $requete = odbc_do($odbc,$sql) or die( odbc_error()); echo '<select name="nom" onChange="toto()">'; echo '<option value="-1">Sélectionner un nom</option>'; while ($resultat = odbc_fetch_array($requete)) {$tx=''; if (isset($_POST['nom'])) {if ($_POST['nom']==$resultat['numero']){$tx=' selected ';}else{ echo $tx='';}} echo '<option value="'.$resultat['numero'].'"'.$tx.'>'.$resultat['nom'].'</option>'; } echo '</select>'; echo '<input type="hidden" name="text2" />'; ?> </form> </td> </tr><form name="form5" method="POST" action="TOTO.php"> <tr> <td><input type="text" name="text" id="text" value="<? echo $_POST['text2'];?>"/> <input type="submit" name="button" value="Envoyer"/> </td> </tr> </form> </table> </body> </html>
Pouvez m'éclaircir svp :
1- Avec l'événement Onchange, avec le choix d'un élément dans la liste déroulante, le formulaire 1 sera valider (même si le form5 est vide)
2- Pourquoi vous utilisez deux formulaire ?
3- D'après le code, vous devez avoir un fichier toto.php pour taraiter les données du form5
1- Avec l'événement Onchange, avec le choix d'un élément dans la liste déroulante, le formulaire 1 sera valider (même si le form5 est vide)
2- Pourquoi vous utilisez deux formulaire ?
3- D'après le code, vous devez avoir un fichier toto.php pour taraiter les données du form5
J'ai remplacé onChange="form1.submit()" par onChange="toto()"
et dans le head je lui ai ajouté du javascript
Mais je ne sais quoi mettre dans la fonction !
echo '<select name="nom" onChange="ap_selection()">';
et dans le head je lui ai ajouté du javascript
<head> <script language="javascript"> function ap_selection() { document.forms['form1'].submit(); } </script> </head>
Mais je ne sais quoi mettre dans la fonction !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ca ne va résoudre le problème, puisque le formulaire va être envoyé dés la sélection d'une valeur dans la liste déroulante.
Remarques :
1 - Il n'y a pas de traitement défini dans la ligne,
2 - La liste déroulante appartient à un autre formulaire 'form5'
Je vous propose de voir mon post :
http://www.commentcamarche.net/forum/affich 6845075 script traitement formulaire#1
Remarques :
1 - Il n'y a pas de traitement défini dans la ligne,
<form name="form1" method="POST" action="">
2 - La liste déroulante appartient à un autre formulaire 'form5'
Je vous propose de voir mon post :
http://www.commentcamarche.net/forum/affich 6845075 script traitement formulaire#1
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <table width="391" border="1"> <tr> <td> <form name="form1" method="POST" action=""> <? $odbc = odbc_connect( 'exemple_selection' , 'root' , '') or die ("Impossible de se connecter à la bas de donnée") ; $sql="select * from nom order by nom"; $requete = odbc_do($odbc,$sql) or die( odbc_error()); echo '<select name="nom" onChange="form1.submit()">'; echo '<option value="-1">Sélectionner un nom</option>'; while ($resultat = odbc_fetch_array($requete)) {$tx=''; if (isset($_POST['nom'])) {if ($_POST['nom']==$resultat['numero']){$tx=' selected ';}else{ echo $tx='';}} echo '<option value="'.$resultat['numero'].'"'.$tx.'>'.$resultat['nom'].'</option>'; } echo '</select>'; ?> </form> </td> </tr><form name="form5" method="POST" action="TOTO.php"> <tr> <td> <input type="text" name="textfield" id="textfield" /> <input type="submit" name="button" value="Envoyer"/> </td> </tr> </form> </table> </body> </html>
J'utilise une base Access «exemple_selection »:
Une table "nom" avec 2 champs « numero » en clé primaire et
« nom »
La manip est simple,
En premier , j’écris quelque chose dans le champ.
En second, je sélectionne un nom dans la liste déroulante,
Lors de la sélection, le champ texte s’efface.