2009-12-28 1 views
3

Я использую изображение как кнопку отправки для формы поиска, то есть:Как Digg удаляет «& x = 0 & y = 0» со своего URL-адреса результатов поиска?

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

Это имеет неприятный побочный эффект в Chrome и Firefox - параметры & х = 0 & у = 0 появляются на конец URL результатов поиска, например, если я ищу «пищу» Я перенаправлен на страницу:

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

Некоторые охоты вокруг онлайн показали, что это стандартное поведение, когда вы используете изображение, чтобы подать форма.

Я заметил, что Digg.com использует изображение для отправки своей формы поиска, но избегает этого поведения. Я не могу понять, как они это делают. Кажется, что они не используют Javascript для отправки формы. Может ли кто-нибудь сказать?

+0

Почему это важно, чтобы не иметь эти параметры? Это не похоже на то, что кто-то действительно смотрит на URL вашей веб-страницы. Для серьезных. – Breton

ответ

4

Digg is, используя JavaScript для этого. Попробуйте отправить форму поиска с отключенным JavaScript в вашем браузере.

+0

Отличный звонок, не знаю, как я это пропустил. – Jack7890

0

Вы можете использовать Javascript, чтобы отправить форму, как это, она по-прежнему самый простой способ:

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

К сожалению, я не знаю, как они делают это без Javascript.

EDIT: Кстати, вы также можете использовать простую форму, которая будет отправлять форму при нажатии.

1

Эти параметры обозначают местоположение, в котором клик осуществлялся по изображению, что является поведением большинства, если не всех браузеров, когда дело касается использования изображений в качестве кнопок отправки. Вы можете использовать обходной путь, который в основном проходит через JavaScript для отправки вашей формы, как и то, что вы видите в примере пользователя watain. Или вы можете создать кнопку отправки, которая не является элементом формы, используя форму .submit() как действие, прикрепленное к этому изображению.

2

Вместо использования <input type="image">, вы могли бы использовать <button> элемент:

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