Pour toutes les discussions javascript, jQuery et autres frameworks
-
Nanard90
- Messages : 36
- Enregistré le : 30 déc. 2020, 13:26
Message
par Nanard90 » 09 mars 2021, 10:57
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
-
webmaster
- Administrateur du site
- Messages : 617
- Enregistré le : 28 févr. 2017, 15:19
Message
par webmaster » 09 mars 2021, 11:13
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
-
Nanard90
- Messages : 36
- Enregistré le : 30 déc. 2020, 13:26
Message
par Nanard90 » 09 mars 2021, 11:24
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
-
webmaster
- Administrateur du site
- Messages : 617
- Enregistré le : 28 févr. 2017, 15:19
Message
par webmaster » 09 mars 2021, 11:31
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.
-
Nanard90
- Messages : 36
- Enregistré le : 30 déc. 2020, 13:26
Message
par Nanard90 » 09 mars 2021, 11:56
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
Modifié en dernier par
Nanard90 le 09 mars 2021, 14:30, modifié 1 fois.
-
Nanard90
- Messages : 36
- Enregistré le : 30 déc. 2020, 13:26
Message
par Nanard90 » 09 mars 2021, 12:29
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
-
webmaster
- Administrateur du site
- Messages : 617
- Enregistré le : 28 févr. 2017, 15:19
Message
par webmaster » 10 mars 2021, 10:10
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
-
Nanard90
- Messages : 36
- Enregistré le : 30 déc. 2020, 13:26
Message
par Nanard90 » 10 mars 2021, 11:06
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
-
Nanard90
- Messages : 36
- Enregistré le : 30 déc. 2020, 13:26
Message
par Nanard90 » 10 mars 2021, 11:18
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
-
webmaster
- Administrateur du site
- Messages : 617
- Enregistré le : 28 févr. 2017, 15:19
Message
par webmaster » 10 mars 2021, 12:58
Voici comment faire :

- onglet fichier joint sous la zone de saisie
- Capture d’écran 2021-03-10 à 12.57.44.png (85.57 Kio) Vu 19538 fois