Probleme "submit" et touche Entrer clavier

Résolu
Bonjour,
j'ai créé une barre de recherche dans mon site de ce type :
<INPUT autocomplete="off" name="valeurdemacase" type="text" size="70" height="50" style="height:25px; font:18px arial,sans-serif bold">

Avec un bouton de recherche associé :
<input style="background-color:#EAEAEA; height:30px; cursor:pointer" type="button" value="Recherche Google" onclick="window.location='liens1/search/='+valeurdemacase.value">

Le problème est qu'en mode type="button", le fait d'appuyer sur entrer ne lance pas la recherche, il faut appuyer manuellement sur le bouton ...
J'ai donc remplacé par un type="submit" et là rien ne fonctionne (ni la touche Entrer du clavier, ni le clique manuel)
Pouvez vous m'aider svp, merci.


--
On s'ennuie pas avec l'informatique :)

3 réponses

  1. type="bouton" onsubmit=[...] ;)
    1. Salut, merci, j'ai essayé
      type="bouton" onsubmit="window.location='liens1/search/='+valeurdemacase.value"

      C'est bien ça que tu me dis de faire ?
      car ça ne donne rien.
    2. Le onsubmit est plutôt à utiliser sur la balise form, et il faut mettre "return false" à la fin pour annuler l'action.

      <form method="post" action="cible.php" onsubmit="document.location.href = 'lien1/search/'+valeurdemacase.value; return false;">
      Ton bouton doit être de type "submit".
    3. Je comprend pas, je dois faire comment, et c'est quoi action="cible.php" ?
    4. « action="cible.php" » : Tu peux mettre une page PHP qui se chargerait de faire la redirection au cas où le JS serait désactivé. Un site doit toujours fonctionner sans Javascript, ne l'oublie pas :)
    5. Mais il n'y a pas de code JS là non ?
  2. Salut.

    Voilà un exemple :
    <form method="get" action="">
    	<div>
    		<label for="q">Recherche :</label>
    		<input type="text" name="q" id="q" onkeypress="if(event.keyCode == 13) { document.location.href = 'search/'+document.forms[0].elements['q'].value; return false; }" />
    		<input type="button" value="Rechercher" onclick="document.location.href = 'search/'+document.forms[0].elements['q'].value;" />
    	</div>
    </form>
    1. tu te complique pas un peu la vie là ? O_o
    2. Oui, je pense :)
      À ta solution, il manque un "return false" à la fin.
    3. possible, j'y connais rien en JavaScript XP
    4. au fait ça sert à quoi le return false ?
    5. C'est pour annuler l'envoie du formulaire.
  3. Merci à tous, j'ai réussi grâce à votre aide de cette manière :

    <FORM onsubmit="document.location.href = 'liens1.htlml/search/'+valeurdemacase.value; return false;">  
    
    <input style="background-color:#EAEAEA; height:30px; cursor:pointer" type="submit" value="Recherche Google" onclick="window.location='liens1.htlml/search/'+valeurdemacase.value">  
    
    </FORM>  
    

    On s'ennuie pas avec l'informatique :)