Wie x und y entfernen mit Bildtyp Schaltfläche in HTML-Formular auf einreichen?
-
03-07-2019 - |
Frage
Ich habe ein Formular in meiner Anwendung erstellt wie folgt:
<form action="/search/" method="get">
<input id="search-box" name="search" type="text" size=30 title="Search" value="" />
<input id="search-submit" type="image" alt="Search" src="/images/search-button.gif" />
</form>
Aber wenn ich meine Form vorlege dann wird URL erstellt wie folgt:
mysitename.com/search/?search=hello&x=0&y=0
Kann jemand mir bitte erklären, warum diese x und y in meiner URL kommen. statt Bild Taste auf weitere Sache, wenn ich meine Form Code wie unten dann bin Änderung seiner Arbeits in Ordnung,
<form action="/search/" method="get">
<input id="search-box" name="search" type="text" size=30 title="Search" value="" />
<input id="search-submit" type="submit" value="Search"/>
</form>
, aber ich brauche eine Bild-Taste, um meine Form gut aussehen. Bitte sagen Sie mir, wie Sie diese x und y parameteres von URL zu entfernen.
Lösung
Sie werden immer Maus erhalten Koordinaten für einen Knopf submit = „image“
Sie können einen Standard verwenden Typ Submit-Button und nur Arten, um es anwenden um das Aussehen zu verändern.
<input type="submit" id="search-submit" value=""
style="background-image: url(/images/search-button.gif); border: solid 0px #000000; width: WIDTHpx; height: HEIGHTpx;" />
Andere Tipps
Sie sind die Maus Koordinaten des Klicks. Ich glaube nicht, dass es eine Möglichkeit, sie zu verhindern - wenn Sie eine <input type='image'>
verwenden dann Sie sie erhalten. Warum ist das ein Problem? Kannst du sie nicht einfach ignorieren?
Die Beantwortung Prashant Kommentar: Digg eine onclick
Handler zum <input>
hinzufügen (oder möglicherweise ein onsubmit
Handler Form), die das ordentlich aussehende Such-URL erstellt und leitet den Browser auf diese URL, und dann kehrt false
die <input>
zu verhindern von Absenden des Formulars selbst. Wenn Sie JavaScript deaktivieren Sie werden sehen, dass Sie die x
und y
Parameter in der URL erhalten tun. Clever!
document.getElementById("formid").submit = function() {
location = "/search/?search=" + encodeURIComponent( document.getElementById("search-box").value );
return false;
};
Sie können einfach einen Wert für eine Bild Taste eingestellt, dies wird die reguläre Koordinaten Verhalten außer Kraft setzen. Er arbeitete für mich.
Zum Beispiel:
<input type="image" value="submit" src="sup.png" name="supprimer" />
wird die PHP-Variable $_POST['supprimer']
zurückkehren und nicht seine Koordinate als Bildtaste.
Hoffe, dass dieser Trick wird Ihnen helfen.