Pro de javascript execution d'une fonction

WRInaute occasionnel
Bjr, comment peut t'on executer une fonnction mm quand l'utilisateur appuie sur entrer et non sur le bouton qui possede l'apel a la fonction? j'essai de mettre un onSubmit="" dans la balise formulaire mais ca ne marche pas ...

ex : http://www.afterdreams.com/essmenu5.php
Merci a vous
 
WRInaute discret
Bonjour YvesB,

tu peux utiliser l'évènement onKeyPress, puis tester s'il s'agit bien de la touche entrée.

if ( window.event && window.event.keyCode == 13 ).....

Voila, avec ça tu devrais pouvoir faire tout ce que tu veux.
 
Nouveau WRInaute
plus précisément, moi je fais ça .... (sous IE au moins):

<BODY onKeyPress="clavier();">

<SCRIPT LANGUAGE=Javascript>
function clavier() {
if (window.event.keyCode == 13) fonction_enter();

// et ainsi de suite, test des différentes touches du clavier
// if (window.event.keyCode == xx) ....
}
</SCRIPT>
 
WRInaute accro
function fonction(){
if(qquelchose){
blabla
return false;
}
else return true;
}


<form onsubmit="return fonction()">


je pense que c'est ça que tu veux non?
 
WRInaute occasionnel
blman c ca que je veux, mais ca ne marche pas :'(
Sinon je vais essayer le onKeyPress="clavier();


Merc
 
WRInaute passionné
Tu pourrais ajouter un onclick sur le bouton, qui modifierait la valeur d'une variable. Et dans ta fonction tu testes la valeur de cette variable : si elle a toujours la même valeur, ça veut dire que le formulaire a été validé via la touche Entrée, sinon c'est qu'il a été validé par le bouton.

Fred
 
WRInaute occasionnel
oui, je crois avoir compris, mm si je suis pas sur. En t ca je viens de comprendre que sur le script, onSumbit marche tres bien, pas besoin on keypress, par contre, quand il execute la commande souhaité sans cliquer sur le bouton, il n'aime plus du tout la fonction parent.location.href= (enfin cpas une foction)
si je le remplace par un alert('') banal pour tester, je vois que ca va bien jusqu'la. chui pas clair la peutetre :)

J'ai remplacé la redirection par un alert quand on séléctionne "Sur le site"
Vous verrez, ca marche bien jusqu'la. Donc je peu mettrequoi a la place de parent.location.href= ?

http://www.afterdreams.com/essmenu5.php
 
WRInaute occasionnel
le gas ouvre la page a juste a ecrire directement sont mot de recherche choisi l'endroit de redirection, pis appuie ou sur entrer ou sur le bouton ok et il est redirigé. Le message "message!' c juste pour montrer que jusqu'a ce message, tout marche.
 
WRInaute passionné
C'est pas l'explication la plus claire du monde mais on fera avec...

La fonction :

Code:
<script type="text/javascript">
<!--
function ouvrir(kw, w) {
 if (w == 'sit') { parent.location.href = 'https://www.google.fr/search?q=' + kw + ' site:www.afterdreams.com&hl=fr'; }
 if (w == 'sitd') { parent.location.href = 'https://www.google.fr/search?q=' + kw + ' site:www.afterdreams.com&hl=fr&btnI=chance'; }
 if (w == 'annu') { parent.location.href = 'http://annu.afterdreams.com/pageresult.php?formerche45='+kw; }
 if (w == 'annuim') { parent.location.href = 'http://annu.afterdreams.com/pageresult.php?im=o&formerche45='+kw;}
 if (w == 'ggfr') { parent.location.href = 'https://www.google.fr/search?meta=cr%3DcountryFR&q='+kw+'&hl=fr';}
 if (w == 'ggmo') { parent.location.href = 'https://www.google.fr/search?q='+kw+'&hl=fr'+kw;}
 if (w == 'ama') { parent.location.href = 'http://www.amazon.fr/exec/obidos/external-search?tag=afterdreamsco-21&keyword='+kw+'&mode=blended'; }
 if (w == 'for') { parent.location.href = 'http://forums.afterdreams.com/?act=Search&CODE=01&cats=all&keywords='+kw+'&forums=all&prune=30'; }
}
//-->
</script>

Le formulaire :

Code:
<form onsubmit="ouvrir(this.formerche45.value, this.ch10.options[this.ch10.selectedIndex].value);return false;">
<input name="formerche45" type="text" class="case" size="15">
    <select name="ch10">
      <option value="sitd">Accès direct (new)</option>
      <option value="sit">Sur le site</option>
      <option value="annu">Annuaire Site Séries TV</option>
      <option value="annuim">Photos et Captures</option>
      <option value="for">Forums</option>
      <option value="ggfr">Web Francais</option>
      <option value="ggmo">Web Mondial</option>
      <option value="ama">Acheter (Amazon.fr)</option>
    </select>
    <input class="case" type="submit" value="OK">
</form>

Fred
 
WRInaute occasionnel
Purée tu m'inpressionnes, merci bcp ! C super sympa. Et merci a tous. Bon par contre quand je rentre un truc, que je vaisds la liste pr choisir la destination, je suis obliger de recliquer a cote de la liste pr appuyer sur entrer et que ca marche, mais ca je suppose que c normal. Encore merci (je vais aller sur ton site et me dechainer sur les pubs (enfin pas trop quand mm)) a pis je viens d'acheter un poster a partir de ton site :)
 
Nouveau WRInaute
eau4.gif
HELP ! HELP ! ....
Bon, on va recommencer au début: tu vois la balise <HTML>, là-bas, tout en haut à gauche ? ...
 
Discussions similaires
Haut