Question

J'utilise une image comme le bouton pour soumettre un formulaire de recherche, i.e. .:

<input id="search" type="image" alt="Search" src="/images/searchButton.png" name=""/>

Cela a un effet secondaire malheureux dans Chrome et Firefox - les paramètres & x = 0 & y = 0 apparaissent sur la fin de l'URL des résultats de recherche, par exemple, si je recherche « nourriture » Je suis dirigé vers la page:

main/search?search=food&x=0&y=0

La chasse autour en ligne a indiqué que ce comportement est standard lorsque vous utilisez une image pour soumettre un formulaire.

J'ai remarqué que Digg.com utilise une image pour soumettre sa forme de recherche, mais permet d'éviter ce comportement. Je ne peux pas comprendre comment ils le font. Ils ne semblent pas être en utilisant Javascript pour soumettre le formulaire. Quelqu'un peut-il dire?

Était-ce utile?

La solution

Digg est JavaScript à l'aide pour le faire. Essayez de soumettre le formulaire de recherche avec JavaScript désactivé dans votre navigateur.

Autres conseils

Au lieu d'utiliser un <input type="image">, vous pouvez utiliser un élément <button>:

<button type="submit" style="border: 0; background: transparent">
  <img src="image.png"></img>
</button>

Ces paramètres indiquent l'emplacement dans lequel le clic a été exercé sur l'image, ce qui est le comportement par défaut de la plupart, sinon tous les navigateurs quand il s'agit d'utiliser les images comme les boutons d'envoi. Vous pouvez utiliser une solution de contournement qui va essentiellement par JavaScript pour soumettre votre formulaire, un peu comme ce que vous voyez dans l'exemple de Watain. Ou vous pouvez créer un bouton soumettre thats pas un élément de forme, en utilisant form.submit () que l'action attachée à cette image.

Vous pouvez utiliser le Javascript pour soumettre le formulaire comme ça, il est toujours la meilleure façon:

<script>
yourForm.onSubmit = function() {
 location.href = 'main/search?search=' + encodeURIComponent(yourForm.elements['query'].value);
 return false;
}
</script>

Malheureusement, je ne sais pas comment ils le font sans Javascript.

EDIT:. Btw vous pouvez aussi utiliser un simple qui présentera le formulaire quand il est cliqué

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top