Rechercher : dans
Par :

Garder une saisie apres selection liste PHP

Dernière réponse le 27 aoû 2008 à 14:43:14 nawak.seb, le 4 aoû 2008 à 14:38:05 
 Signaler ce message aux modérateurs

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 Quand l'impossible devient possible

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Garder une saisie apres selection liste PHP » dans :
[Debian] Liste des paquetages (packages) installés VoirIl est possible de lister l'ensemble des paquetages installés grâce à la commande : dpkg --get-selections Grâce à cet outil il est ainsi possible d'exporter la liste des paquetages installés de la manière suivante : dpkg --get-selections >...
Formulaires en ligne - Les champs de saisie VoirQuelles données saisir ? Comment dois-je saisir l'information L'organisation des champs de saisie Séparer les champs de saisie L'organisation des champs et des titres La longueur des champs Quelles données saisir ? Sur la plupart des...
[Freewares] Liste régulièrement mise à jour VoirJe suis tombé par hasard sur cette intéressante liste de freewares, cette liste a été faite par : Alain.Tisserant@mines.inpl-nancy.fr, Ecole des Mines de Nancy. http://www.mines.inpl-nancy.fr/~tisseran/freeware/liste.php
Liste personnalisée VoirVous pouvez soit créer une liste à partir d’éléments déjà présents dans une feuille de calcul, soit la créer intégralement. Si vous avez déjà saisi la liste des éléments constituant la série, sélectionnez-la dans la feuille de calcul. Dans le menu...

1

amjahed, le 5 aoû 2008 à 14:05:45

Salut,
pouvez-vous donner une adresse pour voir la page en action. Je ne suis pas le biologiste, je suis juste son guide dans l­a forêt.
J'utilise : Ubuntu, OpenOffice, Firefox, GIMP, Inkscape, 7zi­p, audacity ... 

Répondre à amjahed

2

nawak.seb, le 5 aoû 2008 à 14:11:40

<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. Quand l'impossible devient possible

Répondre à nawak.seb

3

amjahed, le 5 aoû 2008 à 15:55:29

Dans la ligne :

echo '<select name="nom" onChange="form1.submit()">'; 

Le contenu du formulaire est envoyé et la page est réinitialisée. Je ne suis pas le biologiste, je suis juste son guide dans la forêt.
J'utilise : Ubuntu, OpenOffice, Firefox, GIMP, Inkscape, 7zip, audacity ... 

Répondre à amjahed

4

nawak.seb, le 5 aoû 2008 à 16:17:54

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 !
Quand l'impossible devient possible

Répondre à nawak.seb

5

amjahed, le 5 aoû 2008 à 16:37:27

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
Je ne suis pas le biologiste, je suis juste son guide dans la forêt.
J'utilise : Ubuntu, OpenOffice, Firefox, GIMP, Inkscape, 7zip, audacity ... 

Répondre à amjahed

6

nawak.seb, le 6 aoû 2008 à 09:46:37

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>

Quand l'impossible devient possible

Répondre à nawak.seb

7

amjahed, le 6 aoû 2008 à 12:18:57

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 Je ne suis pas le biologiste, je suis juste son guide dans l­a forêt.
J'utilise : Ubuntu, OpenOffice, Firefox, GIMP, Inkscape, 7zi­p, audacity ... 

Répondre à amjahed

8

nawak.seb, le 6 aoû 2008 à 16:23:18

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.

Quand l'impossible devient possible

Répondre à nawak.seb

9

nawak.seb, le 6 aoû 2008 à 16:23:48

Et sinon, j’ai la même question, mais avec des boutons radio !!

Comment je peu garder les cases déjà sélectionné?
Quand l'impossible devient possible

Répondre à nawak.seb

10

 nawak.seb, le 27 aoû 2008 à 14:43:14
  • +1

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. Quand l'impossible devient possible

Répondre à nawak.seb
Collection CommentÇaMarche.net