[Javascript]Objet attendu
Résolu/Fermé
lomic2
Messages postés
14
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
21 septembre 2012
-
22 janv. 2007 à 15:35
lomic2 Messages postés 14 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 21 septembre 2012 - 22 janv. 2007 à 16:57
lomic2 Messages postés 14 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 21 septembre 2012 - 22 janv. 2007 à 16:57
A voir également:
- [Javascript]Objet attendu
- Vente objet occasion entre particulier - Guide
- Telecharger javascript - Télécharger - Langages
- Identifier un objet à partir d'une photo - Guide
- A javascript error occurred in the main process - Forum Matériel & Système
- Objet interdit en cabine ryanair - Guide
5 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
22 janv. 2007 à 15:43
22 janv. 2007 à 15:43
Bonjour,
Lorsque tu écris ça : "<SELECT name="liste_cat" onChange="tri(this.form)">", le "this" point sur l'élément SELECT. this.form n'existe donc pas...
Je te conseille de modifier tout ça en mettant :
Lorsque tu écris ça : "<SELECT name="liste_cat" onChange="tri(this.form)">", le "this" point sur l'élément SELECT. this.form n'existe donc pas...
Je te conseille de modifier tout ça en mettant :
<script language="javascript"><!-- function tri(categorie) { if (categorie != "#all") { document.location.href = "http://mon_url/affich_liste.php?obj_cat="+categorie; } --></script> <FORM ACTION="" METHOD=POST name="choix_categorie"> <SELECT name="liste_cat" onChange="tri(this.options[this.selectedIndex].value)"> <OPTION SELECTED value="#all">Toutes</OPTION> <? WHILE($res_cat!=$j){ $cat= mysql_result($req_cat,$j,"obj_cat"); ?> <OPTION VALUE="<? echo $cat ?>"><? echo $cat ?></OPTION> <? $j++; } ?> </SELECT> </FORM>
lomic2
Messages postés
14
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
21 septembre 2012
22 janv. 2007 à 15:52
22 janv. 2007 à 15:52
Merci beaucoup, ça fonctionne :)
Il ne me reste plus qu'à gérer un détail... mes catégories sont des chaines comportant des espaces... la redirection en Php les digère mal mais ça devrait être vite réglé :)
Encore merci pour cette réponse aussi rapide qu'efficace.
Il ne me reste plus qu'à gérer un détail... mes catégories sont des chaines comportant des espaces... la redirection en Php les digère mal mais ça devrait être vite réglé :)
Encore merci pour cette réponse aussi rapide qu'efficace.
lomic2
Messages postés
14
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
21 septembre 2012
22 janv. 2007 à 16:13
22 janv. 2007 à 16:13
Ah par contre je vois que je ne peux pas réafficher l'ensemble des catégories.
J'ai donc ajouté la ligne suivante:
if (categorie == "#all"){
document.location.href = "http://monurl/affich_liste.php";
}
Cependant quand je cliques sur "Toutes" la page ne se recharge pas.
J'ai essayé en modifiant aussi le champ option du formulaire:
<OPTION value="#all">Toutes</OPTION> (enlevé le "selected")
Mais pas moyen de ré-afficher la page avec toutes les catégories.
Un 2eme coup de pouce?
Merci.
J'ai donc ajouté la ligne suivante:
if (categorie == "#all"){
document.location.href = "http://monurl/affich_liste.php";
}
Cependant quand je cliques sur "Toutes" la page ne se recharge pas.
J'ai essayé en modifiant aussi le champ option du formulaire:
<OPTION value="#all">Toutes</OPTION> (enlevé le "selected")
Mais pas moyen de ré-afficher la page avec toutes les catégories.
Un 2eme coup de pouce?
Merci.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
22 janv. 2007 à 16:25
22 janv. 2007 à 16:25
Si on reprend ton code php, le mieux serait en fait de sélectionner l'élément qui a été choisi par l'utilisateur. C'est mieux pour l'utilisateur, et ça permettra d'activer le "onchange" si on veut revenir à "TOUT".
FORM ACTION="" METHOD=POST name="choix_categorie"> <SELECT name="liste_cat" onChange="tri(this.options[this.selectedIndex].value)"> <? if (isset($_GET["obj_cat"])) { $obj_cat = $_GET["obj_cat"]; $selected = ""; } else { $obj_cat = ""; $selected = "selected"; } echo "<OPTION value=\"#all\" $selected >Toutes</OPTION>"; WHILE($res_cat!=$j){ $cat= mysql_result($req_cat,$j,"obj_cat"); if ($cat == $obj_cat) { $selected = "selected"; } else { $selected = ""; } echo "<OPTION VALUE=\"".$cat."\" $selected >".$cat."</OPTION>"; $j++; } ?> </SELECT> </FORM>Voilà, le principe est donc de sélectionner uniquement l'élément qui a été sélectionné par l'utilisateur (si existant), et l'élément par défaut sinon.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lomic2
Messages postés
14
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
21 septembre 2012
22 janv. 2007 à 16:57
22 janv. 2007 à 16:57
ok, je comprend, merci pour le tuyau n°2
j'ai du faire quelques modifs puisqu'ensuite je testais si $obj_cat était set ou non, et vu qu'il est setté à "", je ne passais plus que dans le cas isset($obj_cat)=true, où j'utilisais $obj_cat pour construire une requète.
Maintenant je teste la longueur du contenu de la variable, si elle est nulle, je construis ma requète sans $obj_cat :)
et ça marche au poil, merci Reivax :D
j'ai du faire quelques modifs puisqu'ensuite je testais si $obj_cat était set ou non, et vu qu'il est setté à "", je ne passais plus que dans le cas isset($obj_cat)=true, où j'utilisais $obj_cat pour construire une requète.
Maintenant je teste la longueur du contenu de la variable, si elle est nulle, je construis ma requète sans $obj_cat :)
et ça marche au poil, merci Reivax :D