Jak usunąć x i y w formularzu HTML z przyciskiem typ obrazu?

Utworzyłem formularz w moim zgłoszeniu w następujący sposób:

<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>

Ale kiedy wysyłam formularz, URL jest tworzony jak poniżej:

mysitename.com/search/?search=hello&x=0&y=0

Czy ktoś może mi powiedzieć, dlaczego to x i y wchodzi w mój adres URL? Na więcej rzeczy zamiast przycisku obrazu, jeśli zmieniam kod formularza, jak poniżej, a następnie działa dobrze,

<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>
Ale potrzebuję przycisku obrazka, żeby mój formularz wyglądał dobrze. Proszę mi powiedzieć, jak usunąć te parametry x i y z adresu URL.
Author: Prashant, 2009-04-29

4 answers

Zawsze otrzymasz współrzędne myszy dla przycisku submit type = "image"

Możesz użyć standardowego przycisku Wyślij typ i po prostu zastosować do niego style, aby zmienić wygląd.

<input type="submit" id="search-submit" value=""
    style="background-image: url(/images/search-button.gif); border: solid 0px #000000; width: WIDTHpx; height: HEIGHTpx;" />
 70
Author: Eoin Campbell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-29 10:11:25

Są współrzędnymi myszy kliknięcia. Nie wierzę, że jest jakiś sposób, aby im zapobiec-jeśli użyjesz <input type='image'>, to je dostaniesz. Dlaczego to problem? Nie możesz ich zignorować?

Odpowiadając na komentarz Prashanta: Digg dodaje obsługę onclick do <input> (lub ewentualnie obsługę onsubmit do formularza), która buduje schludnie wyglądający url wyszukiwania i przekierowuje przeglądarkę do tego adresu URL, a następnie zwraca false, Aby zapobiec wysłaniu samego formularza. Jeśli wyłączysz JavaScript zobaczysz, że otrzymasz parametry x i y w adresie URL. Sprytne!

 4
Author: RichieHindle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-29 10:23:35
document.getElementById("formid").submit = function() {
    location = "/search/?search=" + encodeURIComponent( document.getElementById("search-box").value );
    return false;
};
 1
Author: Chad Grant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-29 10:26:56

Możesz po prostu ustawić wartość, dla przycisku obraz, to nadpisze zwykłe zachowanie współrzędnych. U mnie zadziałało.

Na przykład:

<input type="image" value="submit" src="sup.png" name="supprimer" />

Zwróci zmienną php $_POST['supprimer'], a nie jej współrzędną jako przycisk obrazka. Mam nadzieję, że ta sztuczka ci pomoże.

 0
Author: DarkF,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-16 22:58:39