Probleme "submit" et touche Entrer clavier [Résolu/Fermé]

Signaler
Messages postés
1809
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
13 mai 2019
-
Theophile76
Messages postés
1809
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
13 mai 2019
-
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.

3 réponses

Messages postés
7791
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
928
type="bouton" onsubmit=[...] ;)
avion-f16
Messages postés
18398
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
2 avril 2020
4 155
« 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 :)
Theophile76
Messages postés
1809
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
13 mai 2019
330
Mais il n'y a pas de code JS là non ?
avion-f16
Messages postés
18398
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
2 avril 2020
4 155
Sur la page cible.php, non, il faudra utiliser un script sur le serveur (PHP, ou n'importe quel autre langage).

Mais il y en a sur la balise form, dans l'attribut onsubmit.
Theophile76
Messages postés
1809
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
13 mai 2019
330
Ha ok,
mais le javascript c'est pas un truc qu'on met dans head et qui est du genre <style class=text/javascript> ou un truc du genre ?
avion-f16
Messages postés
18398
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
2 avril 2020
4 155
Pour les évènements, on peut les mettre directement sur les balises avec les attributs prévu (onsubmit, onclick, onmouseover, onmouseout, onfocus, onblur, ...).
Mais c'est plus propre de le mettre dans le head, voir même dans un fichier séparé, et de gérer les évènements directement dans le code, pas dans le HTML.
Messages postés
18398
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
2 avril 2020
4 155
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>
avion-f16
Messages postés
18398
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
2 avril 2020
4 155
Oui, je pense :)
À ta solution, il manque un "return false" à la fin.
Templier Nocturne
Messages postés
7791
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
928
possible, j'y connais rien en JavaScript XP
Theophile76
Messages postés
1809
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
13 mai 2019
330
au fait ça sert à quoi le return false ?
avion-f16
Messages postés
18398
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
2 avril 2020
4 155
C'est pour annuler l'envoie du formulaire.
Theophile76
Messages postés
1809
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
13 mai 2019
330
Ok merci.
Messages postés
1809
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
13 mai 2019
330
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 :)