Подгрузка информера без перезагрузки страницы
Задача следующая: при выборе из списка города выводить соответствующий погодный информер Яндекса без перезагрузки страницы.
Ссылка на информер строится таким образом: <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, время: 13:01. |