Récupérer et exploiter une variable d'un SELECT, sans valider le FORM
Bonjour,
Développeur débutant, je travaille sous PHP et PDO. Par contre sous JS je suis grand débutant.
Bien qu'ayant passé énormément de temps sur des forums, je n'ai pas réussi à trouver de réponse compréhensible, à mon niveau, pour me permettre une mise en application. Je suppose que la solution passe par du JavaScript.
Je me tourne vers vous, en vous remerciant de l'aide que vous pourrez m'apporter.
Mon problème :
J'ai une application qui, dans un FORM, affiche un champ SELECT, pour sélectionner des types de séminaires, que je vais lire dans une table.
Dans le même FORM, j'ai un 2ème champ SELECT qui affiche, dans un second temps, les dates relatives au choix de séminaire effectué. La lecture des données dates, se fait à partir de la variable que je souhaite extraire du premier SELECT.
Résumé :
- Afficher un champ SELECT, provenant d'une table
- Sélectionner un séminaire, sans avoir à valider le form
- Lire une autre table et afficher dans un 2ème champ SELECT les dates proposées pour le séminaire sélectionné.
- Valider enfin le FORM
Pour l'heure, j'arrive à afficher un message d'alerte avec le séminaire sélectionné, mais comment exploiter cette info sous forme de variable utilisable sous PHP, du type $resultat = " ? ".
Encore merci pour votre concours.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Extraire une variable d'un champ SELECT</title>
<script type="text/javascript">
</script>
</head>
<body>
<form method="post" id="select" action="<?php echo basename(__FILE__); ?>" />
<label>Sélectionnez un séminaire :</label>
<select name="choix" id="seminaire" onchange="alert(this.value)">
<option value=""></option>
<option value="Gestion">Gestion</option>
<option value="Comptabilité">Comptabilité</option>
<option value="Paie">Paie</option>
</select>
<input type="submit" name="valide" value="Valide" >
</form>
<?php
echo (isset($_POST['choix'])) ? $_POST['choix'] : '';
?>
</body>
</html> |
Complément d'information à ma demande
Merci à Bovino pour le lien vers les listes liées et bien que cela ne corresponde pas réellement à la question posée, je m'y suis intéressé, pour constater que la gestion des bases mySQL est obsolète. Sans me décourager, j'ai tout passé à PDO, créé la base et inséré des données. Des bugs persistent, je verrai ça à temps perdu.
Merci aussi cher Bovino, pour ta remarque que je prends comme de l'humour !!!
L'exemple que j'ai donné sur l'alerte envoyée par JS c'est simplement pour dire que bien que JS prenne bien en compte la valeur de mon SELECT, je ne sais pas comment l'extraire en PHP car dans la plupart des forums on vous donne des fonctions JavaScript mais je n'ai pas vu comment retourner une valeur vers PHP, sous forme de variable, comme on peut le faire sur les fonctions PHP.
Je peux vous citer un lien pour exemple où l'on ne parle toujours pas de comment retourner la valeur vers PHP :
Code:
1 2
|
http://javascript.developpez.com/faq/javascript/?page=formChamps#valSelect comme exemple |
J'ai même vu un cas sur votre forum, où dans le script JS, on envoie la valeur vers une variable SESSION :
Code:
1 2
|
http://www.developpez.net/forums/d227849/webmasters-developpement-web/javascript-ajax-typescript-dart/javascript/formulaire-recuperer-d-select-variable/ |
Cas très intéressant, mais la variable de SESSION m'est retournée vide.
Voici un exemple complet de mise en pratique :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
<?php
session_start();
$val_retour = (isset($_SESSION['select'])) ? $_SESSION['select'] : '';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Extraire une variable d'un champ SELECT</title>
<script language="JavaScript">
function checkSelectValue()
{
$_SESSION['select'] = document.size.selectedIndex;
}
</script>
</head>
<body>
<form method="post" id="select_number" action="<?php echo basename(__FILE__); ?>" />
<label>Sélectionnez une taille :</label>
<select name="size" id="select" style="width:50px" Onchange="checkSelectValue()">
<option value=38>38</option>
<option value=39>39</option>
<option value=40>40</option>
</select>
<br /><br />
<input type="submit" name="item_number" id="item" value="Valider" >
</form>
<?php
echo 'Variable retournée $val_retour : '.$val_retour.'<br />';
if(isset($_POST['size']))
{
$val=($_POST['size']);
echo 'Vous avez sélectionné la taille '.$val.'<br />';
}
?>
</body>
</html> |
Bien que dans l'exemple cité, j'ai placé un bouton 'submit', en réalité, je cherche à récupérer une variable avec la valeur du SELECT, avant validation du FORM.
J'espère que ma demande est assez détaillée.
Est-il si compliqué de passer une variable de JS vers PHP ?
Je ne doute pas que pour vous ce sera l'affaire de 2 mn. et ça me rendrait bien service.
Alors, merci pour vos commentaires et la solution que vous pourriez m'apporter.
Avec mes remerciements,
Raphaël
Merci pour ta réponse claire et rapide
Merci BOVINO,
C'est bien ce que je doutais, mais mes connaissances n'étant pas suffisantes, j'ai voulu creuser un peu plus, pour avoir votre avis.
Si je comprends bien, je n'ai plus qu'à me former à AJAX, car dans ce cas, on peut exploiter chaque champ du formulaire, sans attendre la validation du FORM.
Au passage, aurais-tu un lien à me communiquer vers un tutoriel sérieux et bien documenté en français sur AJAX ?
Encore merci et au plaisir de te retrouver su le forum.
Raphaël