Как удалить x и y при отправке в форме HTML с помощью кнопки типа изображения?
-
03-07-2019 - |
Вопрос
Я создал форму в своем приложении следующим образом:
<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>
Но когда я отправляю форму, URL-адрес создается, как показано ниже:
mysitename.com/search/?search=hello&x=0&y=0
Может кто-нибудь сказать мне, почему в моем URL-адресе появляются эти x и y.Что касается дополнительной вещи вместо кнопки изображения, если я меняю код формы, как показано ниже, тогда все работает нормально,
<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>
но мне нужна кнопка изображения, чтобы моя форма выглядела хорошо.Подскажите, пожалуйста, как удалить эти параметры x и y из URL.
Решение
Вы всегда получите координаты мыши для кнопки отправки type="image"
Вы можете использовать стандартную кнопку типа отправки и просто применить к ней стили, чтобы изменить внешний вид.
<input type="submit" id="search-submit" value=""
style="background-image: url(/images/search-button.gif); border: solid 0px #000000; width: WIDTHpx; height: HEIGHTpx;" />
Другие советы
Это координаты мыши для щелчка.Я не верю, что есть какой-либо способ предотвратить их - если вы используете <input type='image'>
тогда вы их получите.Почему это проблема?Неужели ты не можешь просто игнорировать их?
Отвечая на комментарий Прашанта:Digg добавляет onclick
обработчик для <input>
(или, возможно, onsubmit
обработчик формы), который создает аккуратный URL-адрес поиска и перенаправляет браузер на этот URL-адрес, а затем возвращает false
чтобы предотвратить <input>
от отправки самой формы.Если вы отключите JavaScript, вы увидите, что получаете x
и y
параметры в URL.Умный!
document.getElementById("formid").submit = function() {
location = "/search/?search=" + encodeURIComponent( document.getElementById("search-box").value );
return false;
};
Вы можете просто установить значение для кнопки изображения, это переопределит поведение обычных координат.Это сработало для меня.
Например :
<input type="image" value="submit" src="sup.png" name="supprimer" />
вернет переменную php $_POST['supprimer']
а не его координата в качестве кнопки изображения.Надеюсь, этот трюк вам поможет.