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   -
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
A voir également:

6 réponses

nawak.seb Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   4
 
Après longue réflection , j'ai trouvé une solution:
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.
2
nawak.seb Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   4
 
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.


<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 &agrave; la bas de donn&eacute;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>

0
amjahed Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   123
 
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
nawak.seb Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   4 > amjahed Messages postés 335 Date d'inscription   Statut Membre Dernière intervention  
 
Pour répondre a amjahed, j’utilise 2 formulaires
1 pour la sélection dans la liste déroulante et l’autre au moment du bouton envoyer.

-1
nawak.seb Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   4
 
Et sinon, j’ai la même question, mais avec des boutons radio !!

Comment je peu garder les cases déjà sélectionné?
-1
amjahed Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   123
 
Salut,
pouvez-vous donner une adresse pour voir la page en action.
-1
nawak.seb Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   4
 
J'ai remplacé onChange="form1.submit()" par onChange="toto()"
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 !
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
amjahed Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   123
 
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,
<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
-1
nawak.seb Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   4
 
<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 &agrave; la bas de donn&eacute;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.
-2
amjahed Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   123
 
Dans la ligne :
echo '<select name="nom" onChange="form1.submit()">'; 

Le contenu du formulaire est envoyé et la page est réinitialisée.
-1