Page 1 sur 2

selection sans submit

Posté : 09 mars 2021, 10:57
par Nanard90
Bonjour à Tous,

Etant nul en Javascript, je vous expose mon problème

Dans un Select j'aimerais en cliquant sur le choix récupérer la valeur de ce select sans passer par le input submit

Cela fonctionne en PHP
j'ai essayé de mettre :

Code : Tout sélectionner

<select class='tailledefinie' name='taille' id='taille' onchange='document.getElementById('choix').submit();'>
mais naturellement cela ne fonctionne pas ou (c'est sûr) je n'ai pas compris le fonctionement

Une âme charitable pour m'aider

Les Options de ChoixTaille = 4 - 5 - 6 - 7 - 8 - 10 - 12 -14
Voici mon code :

Code : Tout sélectionner

<?php
		
	$reponse02 =$bdd->prepare('SELECT * FROM '.$tailleenfant_BDD.' ORDER BY id ASC');				
	$reponse02->bindParam(':id', $id, PDO::PARAM_INT);
	$reponse02->bindParam(':taille', $taille, PDO::PARAM_STR);
	$reponse02->execute();
	echo"<div class='tailleaffiche'> 
		<p class='titreaffiche'>Indiquez votre Taille : </p>";
		echo"<form name='choix' id='choix' class='taillechoisie' action='index.php' method='get' >
			<select class='tailledefinie' name='taille' id='taille' >
			
			<option value='ChoixTaille' selected>Taille </option>";							
				while ($donnees02 = $reponse02->fetch())	{	
					echo "<option value='".$donnees02['taille']."' >".$donnees02['taille']."</option>";
				}
				$reponse02->closeCursor();
			echo"</select >								
			<input type='hidden' name=action value=ajouter />
			<div class='validertaille'><input type='submit' value='Valider' name='submit' title=''/></div>";
			
		echo"</form>";

		if(isset($_GET['action'])){
			if($_GET['taille']<>'ChoixTaille'){						
				$taillechoisie = $_GET['taille'];
				$_SESSION['taille'] = $_GET['taille'];							
				echo"<p class='choixtaille'> Taille Choisie : <span class='choixtaillecouleur'>".$_SESSION['taille'].'</span></p>';							
			}
			else{								
				$_SESSION['taille'] = '';
				$taillechoisie='';
				echo' ';
				
			}														
		}						
		
	echo"</div>";				
?>	
Merci beaucoup

Re: selection sans submit

Posté : 09 mars 2021, 11:13
par webmaster
Bonjour,

Je ne suis pas sur d'avoir bien compris.
Mais si l'idée est de valider le formulaire quand une selection est faite, il faut écrire :

Code : Tout sélectionner

<select class='tailledefinie' name='taille' id='taille' onchange='this.form.submit();'>
this représente l'élément en cours de manipulation (ici le select)
.form remonte à son formulaire
et .submit() déclenche la validation

Re: selection sans submit

Posté : 09 mars 2021, 11:24
par Nanard90
Bonjour,

Merci pour votre réponse rapide,
Suite à votre correction, je me suis empressé de modifier le code

Code : Tout sélectionner

<select class='tailledefinie' name='taille' id='taille' onchange='this.form.submit();'>
Je n'ai pas d'erreur mais la sélection ne s'affiche pas, j'ai essayé

Code : Tout sélectionner

if(isset($donnees02['taille'])){echo 'Taille : '.$donnees02['taille'];}
et rien ne s'affiche
Je suis vraiment une bille en Javascript

Re: selection sans submit

Posté : 09 mars 2021, 11:31
par webmaster
Si rien ne s'affiche il faut vérifier progressivement :
1 - est-ce que le contenu est bien envoyé dans le formulaire (un var_dump($_GET) affichera tout le formulaire)
2 - est-ce que $donnees2 est bien renseigné (comme il vient de la base de donnée, je ne crois pas que la taille s'enregistre toute seule)

Attention, dans tous les cas, le JS s'exécute sur le navigateur, donc apres le PHP.

Re: selection sans submit

Posté : 09 mars 2021, 11:56
par Nanard90
Merci pour la réponse rapide et la patience...

l'affichage venant de la BDD est bon si je clique sur le bouton Valider ma page se rafraichis et exécute le filtre des enregistrement

maintenant j'ai vérifié dans la Console :

Code : Tout sélectionner

Uncaught TypeError: this.form.submit is not a function
    onchange http://magasin/enfant/index.php:1
Merci

Re: selection sans submit

Posté : 09 mars 2021, 12:29
par Nanard90
Voici ce que me donne le Débogueur :

Code : Tout sélectionner

							<select class='tailledefinie' name='taille' id='taille' onchange='this.form.submit();'>
							
							<option value='ChoixTaille' selected>Taille </option><option value='4' >4</option><option value='5' >5</option><option value='6' >6</option><option value='7' >7</option><option value='8' >8</option><option value='10' >10</option><option value='12' >12</option><option value='14' >14</option></select >					
array(3) {
  ["taille"]=>
  string(11) "ChoixTaille"
  ["action"]=>
  string(7) "ajouter"
  ["submit"]=>
  string(7) "Valider"
}
Merci

Re: selection sans submit

Posté : 10 mars 2021, 10:10
par webmaster
Donc le formulaire renvoie bien le contenu du select.

Mais je ne comprends pas trop le besoin.
Peut etre qu'un schema ou une page en ligne faciliterait l'échange

Re: selection sans submit

Posté : 10 mars 2021, 11:06
par Nanard90
Bonjour à Tous
Merci WEBMASTER de m'aider

J'ai un Select dans un formulaire et j'aimerai si possible quand je sélectionne une option que cela m'affiche le résultat sans passer par l'input submit
cela fonctionne très bien en PHP en cliquant sur l'input VALIDER mais j'aurai aimé récupérer cette valeur sans submit et sortir du form avec cette valeur

Merci encore

Re: selection sans submit

Posté : 10 mars 2021, 11:18
par Nanard90
Bonjour,

Comment insérer une copie d'écran dans mon message ?
si je clique sur l'icône image, j'ai les balises img ....

Merci

Re: selection sans submit

Posté : 10 mars 2021, 12:58
par webmaster
Voici comment faire :
Capture d’écran 2021-03-10 à 12.57.44.png
onglet fichier joint sous la zone de saisie
Capture d’écran 2021-03-10 à 12.57.44.png (85.57 Kio) Vu 10768 fois