Как удалить x и y при отправке в форме HTML с помощью кнопки типа изображения?

StackOverflow https://stackoverflow.com/questions/801702

  •  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'] а не его координата в качестве кнопки изображения.Надеюсь, этот трюк вам поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top