|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.08.2011, 00:23 | #1 |
Пользователь
Регистрация: 24.08.2011
Сообщений: 14
|
Нужен совет - PHP+Ajax
Доброго времени суток.
У меня возникла проблема. Занимаюсь разработкой интернет-магазина и делаю страницу общего прайса с "живым поиском". и по средствам ajax-технологий в один клик человек из этого поиска отправляет нужное количество товара в корзину. До того как я заметил проблемы с поиском на Opera скрипт работал отлично. В Опере поиск не работал из-за того что в ней некорректно передавалась кириллица. Но это мне удалось решить, но после я заметил что перестала работать функция отправки товара в корзину. Все что я написал выше может для решения проблемы и не потребоваться но смысл вот в чем. Есть базовая страница прайса (при пустой строке поиска) в ней функция отправки товара в корзину работает корректно, как только я начинаю искать товары либо после поиска возвращаюсь к базовой (т.е. удаляю слова из строки поиска) функция перестает работать. Если надо больше данных предоставлю. Заранее спасибо |
24.08.2011, 00:35 | #2 |
Пользователь
Регистрация: 24.08.2011
Сообщений: 14
|
Вообще странно ведет себя скрипт...
IE пишет что значения передаваемые в input - null, хотя они есть А спустя пару минут если набрать другие слова поиска (обновить список) корзина вновь работает... хотя после сменив слова - опять ошибка |
24.08.2011, 02:34 | #3 |
Форумчанин
Регистрация: 12.11.2010
Сообщений: 146
|
плз кодик какой-то и логи консоли...
|
24.08.2011, 02:42 | #4 | |
Пользователь
Регистрация: 24.08.2011
Сообщений: 14
|
Вот что дает IE
Цитата:
Код:
вот часть js куда поступает сигнал: Код:
|
|
24.08.2011, 02:50 | #5 |
Пользователь
Регистрация: 24.08.2011
Сообщений: 14
|
Еще очень любопытное действие... я думал ошибка на всю страницу влияет, а оказывается она задевает лишь определенные товары... при любых комбинациях - они не добавляются, другие же в этот же момент все ок...
Вот допустим если набрать на странице слово "стел" то позиция на 1 месте не добавится, а другие норм... P.S. на сайт (шаблон, тематика, товары) просьба не обращать внимание - наработки... |
24.08.2011, 03:13 | #6 |
Форумчанин
Регистрация: 30.01.2009
Сообщений: 418
|
кодировка? ajax не переваривает кирилицу в windows-1251 в обычном виде
Последний раз редактировалось Lesha; 24.08.2011 в 03:15. |
24.08.2011, 03:18 | #7 |
Пользователь
Регистрация: 24.08.2011
Сообщений: 14
|
Говорить о кодировке можно было при "Живом поиске", поскольку там есть кириллические символы... проблем нигде не было, вот только для Оперы пришлось писать функцию для преобразования иероглифов в GET-запросе.
В той функции которая сейчас работает как ей вздумается - "добавление необходимого количества товара в корзину" передаются лишь 2 параметра: количество и ID товара - оба понятное дело числовые... |
24.08.2011, 07:30 | #8 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
как то было нечто похожее - при "живом" поиске - идет переодическое обновление страници, так ведь? ТАк вот - при каждой такой перезагрузке нужно заново инициализировать функции ... иначе они перестают работать (так было в моем случае) ... ваш код не совсем понятен (в часности не видно что за функция addToBasket() ) ... и вообще - зачем все эти obj - не проще ли через document.getElementById ?
|
24.08.2011, 09:30 | #9 |
Пользователь
Регистрация: 24.08.2011
Сообщений: 14
|
Я любитель классической школы писания без каких-либо наворотов и чтобы работало точно и навсегда.
Но отказываться идти в ногу со временем это бред. Поэтому частенько приходится экспериментировать. Как иначе представить я не знаю. Вот он мой файл JS отвечающий за корзину: http://00005.fioru.name/engine/mymod...-to-basket2.js Изначально он был лишь для того чтобы передавать в самой ссылке лишь одну переменную. Я пытался переписать код на 2 переменные (чтобы на файл addProduct.php отослать 2 показателя), но 2ая постоянно терялась и выходил null, поэтому решил объектом и написать функцию-цикл. Теперь при клике на корзину не 1 раз кладется товар в корзину а столько сколько указано. Если кто сможет написать как передать 2 параметра - буду очень благодарен. Но у меня самым "на прямую" способом не получилось. Вот как раньше было: <a href="#" onclick="addToBasket(4899);return false;"><img src="/templates/Default/images/carts.gif" border="0"></a> Вот как сделал: <a href="#" onclick="addToBasketFor(formaProduct4899);return false;"> <img src="/templates/Default/images/carts.gif" border="0" /></a> И вот если дело в живом поиске (кстати сделал его работающим лишь по вводу символов) то почему ошибка затрагивает лишь определенные товары |
24.08.2011, 13:21 | #10 |
Форумчанин
Регистрация: 12.11.2010
Сообщений: 146
|
имхо - getElementById... и проблемы отпадут скорее
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужен прогер Ajax | ajhones | Фриланс | 3 | 19.04.2011 22:28 |
Нужен чат на php + ajax. | Abuhamed | Фриланс | 3 | 24.01.2011 22:11 |
Нужен совет, просто совет | kardinal94 | Общие вопросы Delphi | 7 | 16.12.2010 22:16 |
Нужен компаньон-программист PHP, MySQL, Ajax | AladdinPS | Свободное общение | 0 | 03.10.2008 18:07 |