Подгрузка информера без перезагрузки страницы
Задача следующая: при выборе из списка города выводить соответствующий погодный информер Яндекса без перезагрузки страницы.
Ссылка на информер строится таким образом: <a href="http://clck.yandex.ru/redir/dtype=stred/pid=7/cid=1228/*http://weather.yandex.ru/index.xml?city=_________"> <img src="http://info.weather.yandex.net/informer/150x150/_________.png" border="0" alt="Яндекс.Погода"/> <img width="1" height="1" src="http://clck.yandex.ru/click/dtype=stred/pid=7/cid=1227/*http://img.yandex.ru/i/pix.gif" alt="" border="0"/></a> Вместо _________ - числовой идентификатор города. Отсюда и пляшем: <script> var index = 0; var value = ''; function setValue(select) { index = select.selectedIndex; if (index == 0 && value == '') return; else { value = select.options[index].value; document.getElementById('textfield').value = value; } } function selectValue() { document.getElementById('select').selectedIndex = 0; } </script> <form id="form1" name="form1" method="post" action=""> <select onclick="setValue(this);" name="select" id="select"> <option value="22222">Город 1</option> <option value="22223">Город 2</option> <option value="22224">Город 3</option> <option value="22225">Город 4</option> <option value="22226">Город 5</option> </select> <br /><br /> <input type="text" name="textfield" id="textfield" onkeydown="selectValue();" /> </form> Задача состоит в том, чтобы вместо засовывания в этот текстовый input этих value, формировалась ссылка на информер, где вместо знаков подчеркивания ставился бы этот value. Ну и конечно же чтобы подгружался этот информер, а старый убирался. Вот именно последняя часть меня смущает и я не знаю что тут делать. Буду рад помощи) |
Наверное это в AJAX надо перенести.. в котором я ничегошеньки не понимаю(
|
ну, во первых что трудного разобратся в AJAX?
на сайте есть достаточное количество статей, чтобы разобратся. во вторых, тут AJAX как таковой не нужен генерируйте текст информера, вставив в него ссылку подобающим образом.а потом полученный текст вставляйте в ... куда-нибудь а точнее в innerHTML родительского элемента относительно старого информера.старый информер при этом затрется, а новый появится |
Ну, скажите, что трудного разобраться в 1C-Bitrix? Ведь есть подробные курсы, разжеванный API, все ведь описано. И тем не менее - кому то это не надо.
Мне хоть и надо, но пока занят другими вещами, и когда передо мной встает задача, с которой я не знаю как справляться, но которую нужно решить в относительно короткие сроки, я задаю вопрос тем, кто знает ответ. Очевидно, этот форум одно из тех мест, где я могу найти ответ. Теперь по делу. Считаем, что внутри <div id="weather"> </div> находится сам SELECT, а под ним картинка-ссылка вида <a href="somedomain.ru/?id=VALUE"><img src="somedomain.ru/img/VALUE.png"></a> При выборе элемента из списка должна произойти подстановка этого VALUE в ссылку, старый информер должен исчезнуть, новый загрузиться по сформированной ссылке, при этом страница не перезагружается. Вот тут я ничего не понимаю. Что нужно сделать в скрипте? value = select.options[index].value; document.getElementById('weather').innerHTML = тутсформированнаяссылка?; |
В общем то
document.getElementById('weather').innerHTML = VALUE выводит на месте этого дива этот самый Value. Значит в innerHTML нужно записать ВСЕ, что находится в этом диве? Или может ссылку поместить в отдельный див какой нить.. попробую счас |
Прелестно. Спасибо за наводку, все получилось)
|
пожалуйста
|
Часовой пояс GMT +3, время: 07:18. |