Garder une saisie apres selection liste PHP
Résolu
nawak.seb
Messages postés
72
Statut
Membre
-
nawak.seb Messages postés 72 Statut Membre -
nawak.seb Messages postés 72 Statut Membre -
Bonjour,
Dans un formulaire PHP avec une base Access, je rempli des champs et je sélectionne dans une liste déroulante, un nom.
A cette sélection, mes données où je viens de rentrée sont automatiquement effacées !
Comment garder en mémoire toute les données saisies ?
Merci
Dans un formulaire PHP avec une base Access, je rempli des champs et je sélectionne dans une liste déroulante, un nom.
A cette sélection, mes données où je viens de rentrée sont automatiquement effacées !
Comment garder en mémoire toute les données saisies ?
Merci
A voir également:
- Garder une saisie apres selection liste PHP
- Liste déroulante excel - Guide
- Saisie gestuelle iphone - Guide
- Liste code ascii - Guide
- Comment saisir une adresse url - Guide
- Liste déroulante en cascade - 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.