Frage

Ich verwende ein Bild als Senden -Schaltfläche für ein Suchformular, dh:

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

Dies hat einen unglücklichen Nebeneffekt in Chrome und Firefox-die Parameter & x = 0 & y = 0 erscheinen am Ende der Suchergebnisse, beispielsweise wenn ich nach "Food" suche. Ich bin auf die Seite gerichtet:

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

Einige Online -Jagd haben gezeigt, dass dies ein Standardverhalten ist, wenn Sie ein Bild verwenden, um ein Formular einzureichen.

Mir ist aufgefallen, dass Digg.com ein Bild verwendet, um sein Suchformular einzureichen, dieses Verhalten jedoch vermeidet. Ich kann nicht herausfinden, wie sie es machen. Sie scheinen JavaScript nicht zu verwenden, um das Formular einzureichen. Kann jemand sagen?

War es hilfreich?

Lösung

Digg ist Verwenden Sie dazu JavaScript. Versuchen Sie, das Suchformular mit JavaScript in Ihrem Browser deaktiviert zu haben.

Andere Tipps

Anstatt eine zu verwenden <input type="image">, Sie könnten a verwenden <button> Element:

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

Diese Parameter bezeichnen den Ort, an dem das Klick auf das Bild ausgeübt wurde. Dies ist das Standardverhalten der meisten, wenn nicht aller Browser, wenn es um die Verwendung von Bildern als Sendet -Schaltflächen geht. Sie können eine Problemumgehung verwenden, die im Grunde genommen JavaScript durchläuft, um Ihr Formular einzureichen, ähnlich wie Sie in Watains Beispiel sehen. Oder Sie können eine Sendetaste erstellen, die kein Formularelement verwendet, indem Sie Form verwenden.

Sie könnten JavaScript verwenden, um das Formular so einzureichen. Es ist immer noch der einfachste Weg:

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

Leider weiß ich nicht, wie sie es ohne JavaScript machen.

Bearbeiten: Übrigens können Sie auch ein einfaches verwenden, das das Formular beim Klicken einreicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top