[RESOLU] Actionner un bouton automatiquement

collaud
Invité n'ayant pas de compte PHPfrance

30 mai 2005, 10:02

Salut !

J'ai un petit souci...

j'ai une page php qui contient la liste des produits de mon entreprise. Et j'ai fait un moteur de recherche (toujours en php) pour pouvoir les retrouver plus facilement.
Je vais pas tout vous expliquer, mais pour une raison pratique, je vais créer une serie de bouton (input=button) avec lesquels j'aimerais appeler une certaine catégorie de produits.

Et c'est là que ça coince ! J'ai fait un bouton. Quand je clique dessus, ça appelle une fonction (javascript) que j'ai faite qui copie un texte (par ex: dessert) dans le champs de recherche (input=text) du moteur de recherche. Mais maintenant, pour plus d'automatisme, j'aimerais que le moteur de recherche s'actionne tout seul ! Et ça je trouve pas...
On a tout ce qu'il faut avec le "onClick", mais moi je trouve rien sur une sorte de "Clickon"...vous pigez ??

Eléphant du PHP | 139 Messages

30 mai 2005, 10:19

quand tu appuies sur rechercher dans le moteur de recheche sa lance un script , donc quand qq séléctionne ton bouton avec ton code java tu lui indique en plus de copier le texte (dessert) d'éxecuter le script de recherche.

je sais pas si j'ai été clair !!!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 mai 2005, 10:22

Si ton moteur de recherche est un fomulaire, dans ta fonction JS, tout à la fin, tu met une validation de ton formualire.

Le fonctionnement va être le suivant,

-clic sur une liste
- copie de la sélection dans un input
- validation du moteur de recherche
- traitement PHP
- affichage

la ligne pour valider le formulaire "moteurRecherche" est :
document.moteurRecherche.submit();
ou encore
document.forms['moteurRecherche'].submit();
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

30 mai 2005, 10:25

quand tu appuies sur rechercher dans le moteur de recheche sa lance un script , donc quand qq séléctionne ton bouton avec ton code java tu lui indique en plus de copier le texte (dessert) d'éxecuter le script de recherche.

je sais pas si j'ai été clair !!!
oui ben c'est justement ce que j'aimerais faire, mais quelle synthaxe utiliser ?? c'est ça qui me manque...

collaud
Invité n'ayant pas de compte PHPfrance

30 mai 2005, 10:26

document.moteurRecherche.submit();
ou encore
document.forms['moteurRecherche'].submit();
ha c'est peut-être ça !! j'essaie !

collaud
Invité n'ayant pas de compte PHPfrance

30 mai 2005, 10:38

YES !!

Trop cool Zeus !! C'est tout bon
document.forms['moteurRecherche'].submit();
c'était bien ça !! tout con, mais fallait trouver... en fait je me doutais pas que javascript reconnaîtrait ce bouton... je pensais que ça serait plus compliqué !!...ben ça c'est fait...

Mais maintenant, je dois aligner ces boutons de catégories. J'ai déjà "Desserts", mais maintenant il faudrait faire encore "yoghourts", "fromages frais", etc...

Et je veux pas copier/coller la fonction 10 fois...faut que j'utilise des variables...

voici la fonction :

Code : Tout sélectionner

<SCRIPT language="javascript"> function copiesearch() { document.forms["form1"].elements["recherche"].value = "\\desserts" document.forms['form1'].submit(); } </SCRIPT>
en fait c'est tout con: quand je clique sur un des boutons de catégories (comme mon bouton "desserts"), la fonction copie la valeur "\\dessert" dans la champ du moteur de recherche (le champs s'appelle recherche) et enfin (la ligne de Zeus) il lance la recherche tout seul, sans que j'aie à cliquer moi-même...

mais il faudrait que j'améliore en donnant une valeur variable, car suivant le bouton, il faudra un "\\yoghourts" par exemple...

est-ce qu'on peut récupérer le nom du bouton pour faire ça ? Je m'explique : la valeur à entrer dans le champs est égal au Input=name...on peut ?...

Note: il me faut le "\\" pask c'est dans mes mots clés...en fait c'est un petit truc car je ressort ces produits par le moteur grâce à des mots-clés, mais aussi par le lien du fichier...bref, tout une combine...

mais je peux surement dire : ..[xxx].value = "\\ + variable"

nan ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 mai 2005, 10:44

Quand tu construit tes sélections, tu place la fonction comme tel :

Code : Tout sélectionner

<select name="Yahourt" onChange="copiesearch('//Yahourt')"> ... </select> <select name="Biscuit" onChange="copiesearch('//Biscuit')"> .. </select>
et dans ta fonction JS,

Code : Tout sélectionner

<SCRIPT language="javascript"> function copiesearch(var) { document.forms["form1"].elements["recherche"].value = var document.forms['form1'].submit(); } </SCRIPT>
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

collaud
Invité n'ayant pas de compte PHPfrance

30 mai 2005, 10:51

select ?

ha toi tu ferais plutôt des bouton radio...?

mmmh...intéressant, j'avais même pas pensé !!...

je vais voir, mais dans le fond, bouton à cliquer ou bouton radio à selectionner, c'est pareil...sauf que c'est onClick au lieu de onChange...

collaud
Invité n'ayant pas de compte PHPfrance

30 mai 2005, 11:01

euhh...ouais...

j'ai vu des "select name" pis j'ai cru que c'était des bouton radio...mais même pas...enfin bref...

ben c'est bon ! ça marche nickel !

Merci à toi ! En plus j'ai appris pleins de choses !

a+

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 mai 2005, 11:04

On s'est mal compris, pour moi select, c'est des listes déroulantes....

Mais j'avais pas saisi que c'était sur des boutons radio !!!!!

la syntaxe reste la même mais sur un autre type de balise : tu adpate le onChange en onClick et tu met le même appel de fonction !!!!

C'était pour que tu comprenne qu'on pouvait passer des paramètres
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

collaud
Invité n'ayant pas de compte PHPfrance

30 mai 2005, 11:06

oui oui...

mais je viens de comprendre qu'on s'est pas encore complètement compris ( :o )...en fait c'est pas des radio que j'avais, mais des boutons à cliquer, des boutons normaux quoi...

pis oui, selcet c'est pour les listes déroulantes, juste !

enfin bref...quoi qu'il advienne, on peut rajouter un [Resolu]

allait a+ :wink:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 mai 2005, 11:13

LE truc, c'est qu'il n'y a que l'investigateur du message qui peut mettre [RESOLU], si il est enregistré !!!!

SI tu a l'intention de revenir de temps en temps, inscrit toi, c'est gratuit, pas de pub, et tu as accès à plus de truc que en invité !!!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

collaud
Invité n'ayant pas de compte PHPfrance

30 mai 2005, 11:15

ha oui...bon y a les modos qui peuvent le faire au pire...mais je vais m'inscrire alors... 8)

collauds
Invité n'ayant pas de compte PHPfrance

30 mai 2005, 11:19

ouais...je me rappelle pkoi maintenant...

faut confirmer via le mail que je vais recevoir...et comme j'ai pas le droit au webmail au boulot...j'aurais toute façon du écrire en invité pour avoir l'info aujourd'hui...

mais dès le prochain prob, j'serai inscris...a+

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

30 mai 2005, 13:07

y a les modos qui peuvent le faire au pire...
Pourquoi "au pire" ??? :shock:

Albat', modérateur susceptible :lol: