Почему на этой странице не работает функция поиска? - PullRequest
1 голос
/ 31 мая 2010

мы доставляем контент микро-сайта для нашего клиента. Наш контент внедряется в оболочку, предоставленную другим разработчиком.

Для доставки нашего контента мы размещаем как оболочку, так и контент. Пользователь может получить доступ к этому на

http://fundcentre.newireland.ie/ (попробуйте поискать 'bloxham')

Для другого контента, который не принадлежит нам, другой разработчик размещает аналогичную (хотя и немного отличную) оболочку и доставляет контент. пользователь получает доступ к этому здесь:

http://www.newireland.ie/ (попробуйте поискать 'bloxham')

Оболочка содержит окно поиска, которое не работает для нас, но работает для другого разработчика. Я посмотрел на сетевой трафик с помощью FireBug, но, похоже, что когда я выполняю поиск по оболочке, которую мы храним, я получаю ошибку «407 Proxy Access Denied». Я предполагаю, что у их прокси есть проблема с тем, что поиск ведется со страницы, размещенной вне области их прокси.

Также было высказано предположение, что на странице были ошибки javascript, которые мешали выполнению поиска, но я не вижу никаких. Кроме того, я не думаю, что я бы зашел так далеко, как ошибка прокси, если бы это было так.

Хотя я не очень хорошо разбираюсь в этом, так что, может, кто-то с немного большим опытом, пожалуйста, взгляните и, возможно, пролите немного света на это для меня? Спасибо.

Ответы [ 2 ]

1 голос
/ 31 мая 2010

Проблема заключается в том, что окно поиска и кнопка рядом с ним (увеличительное стекло) вызывают отправку всей страницы формы после того, как они пытаются установить URL-адрес страницы для URL-адреса поиска , Когда вы вводите в поле поиска и нажимаете «Enter», отправляется внешняя форма, которая обернута вокруг всей страницы. При нажатии на увеличительное стекло пытается загрузить результаты поиска, но, поскольку это кнопка изображения, щелчок также приводит к отправке внешней формы.

Я не совсем уверен, как лучше это исправить, отчасти потому, что я думаю, что весь дизайн страницы должен быть отброшен. Но если вы застряли с этим, то может заставить его работать, отключив встроенный Javascript на кнопке (так как он все равно не работает), а затем обернув поисковый материал своим собственным <form> направлено на страницу поиска. Наличие <form> внутри <form> - плохое моджо, но этого трудно избежать в дизайне, который помещает всю страницу в <form> для начала.

В качестве альтернативы, вы можете попробовать обработать события нажатия клавиш на входе поиска, чтобы обнаружить «Enter», и этот обработчик и код на кнопке оба возвращают «false» для остановки отправки внешней формы.

изменить & mdash; Что касается того, почему это работает на другом сайте, мне кажется, что внешняя форма действительно является функцией поиска, так как у них вообще нет обработчика нажатия на кнопку поиска, так что все это будет в любом случае, отправьте внешнюю форму.

изменить еще раз & mdash; Кроме того, я никогда не вижу эту проблему "прокси". Поиск на вашей странице работает нормально, если я сначала исправлю встроенный Javascript на кнопке так, чтобы он заканчивался ; return false. Это на самом деле может быть все, что вам нужно сделать.

0 голосов
/ 31 мая 2010

Может быть проблема в том, что действия ваших тегов указывают на разные сценарии. Один указывает на «Home.aspx», а другой на «/Default.aspx». Две ссылки находятся в разных поддоменах, поэтому, возможно, вы захотите изменить действие поддомена, чтобы оно содержало полное местоположение действия (например, "http://www.newireland.ie/Default.aspx")

...