Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Отцы JavaScript`a, научите |
Философия, технологии, алгоритмы! |
|
Опции темы |
02.01.2008, 20:23 | #1 |
Форумец
Сообщений: 123
Регистрация: 09.01.2006
Возраст: 38
Не в сети |
Отцы JavaScript`a, научите
мне нужно узнать как при помощи JavaScript обновить родительское окно после того как дочернее, активное на данный момент окно полностью загрузилось.
Загвоздка у меня возникла в том, что я незнаю как проверить загрузилось ли активное окно или нет! |
02.01.2008, 22:17 | #2 |
Out There
Сообщений: 6,007
Регистрация: 13.12.2004
Возраст: 45
Не в сети |
Я, конечно, не отец, но знаю, что у картинок есть свойство complete которое становится истинным, когда картинка загружена. Может и у страницы такое же есть... Кстати, можно попробовать сделать, чтоб дочернее окно само сообщало о том, что оно загрузилось.
|
03.01.2008, 08:55 | #4 | |
Форумец
Сообщений: 123
Регистрация: 09.01.2006
Возраст: 38
Не в сети |
Спасибо, работает.
но возник ещё один вопрос как сие действие проделать при нажатие на кнопку ?? пробовал вот так: Цитата:
|
|
03.01.2008, 09:46 | #5 | |
няшечка
Сообщений: 5,316
Регистрация: 13.06.2003
Не в сети |
Цитата:
а даже если и будет работать, то только в теории, ибо страница загрузилась, событие onLoad произошло, и только после этого ты кликаешь на кнопку и добавляешь к сабытию загрузки обработчик. |
|
04.01.2008, 08:26 | #9 |
Форумец
Сообщений: 123
Регистрация: 09.01.2006
Возраст: 38
Не в сети |
В активном(дочернем) окне есть кнопка при нажатии на которую отправляется инфа этому же скрипту(в это же дочернее окно), соответственно это активное(дочернее) окшко перезагружается, так вот: после того как я нажал на кнопку дочернего окна и оно(дочернее окно) перезагрузилось нужно обновить родительское окно!
Надеюсь понятно описал... |
04.01.2008, 20:22 | #11 | |
Форумец
Сообщений: 123
Регистрация: 09.01.2006
Возраст: 38
Не в сети |
Цитата:
|
|
04.01.2008, 23:29 | #13 |
Форумец
Сообщений: 123
Регистрация: 09.01.2006
Возраст: 38
Не в сети |
онлайн магазин пишу, в нем заказанные товары открываются в отдельном окне, и вот когда товары удаляешь из заказа, то чтоб в родительском окне инфа тоже обновлялась, ато будет в заказе 5 позиций, а на галавной будет показывать что их 10, негоже так.
|
05.01.2008, 11:10 | #15 | |||
+79038594250
Сообщений: 1,493
Регистрация: 31.01.2005
Возраст: 41
Не в сети |
Цитата:
Цитата:
Цитата:
п.с. такие способы имеют один недостаток - браузер может брать страницу из кеша - поэтому для устойчивой новой генерации страницы в href следует добавлять какойнибудь случайный параметр. |
|||
01.12.2008, 15:04 | #16 |
Форумец
Сообщений: 123
Регистрация: 09.01.2006
Возраст: 38
Не в сети |
что я делаю не так ?
Делаю калькулятор стоимости, появилась одна проблемка с JS всю голову сломал никак не могу ошибку выявить.
Ситуация следующая: Имеется форма на странице в ней несколько элементов input (checkbox и radio) с атрибутом price Код:
<form name="calc" method="POST" action="/calc.html"> <fieldset> <legend>Калькулятор стоимости услуг</legend> <input price="2000" type="radio" name="formCalcPos1" /> <input price="3500" type="radio" name="formCalcPos1" /> <input price="1000" type="checkbox" name="formCalcPos2" /> <input price="1000" type="checkbox" name="formCalcPos3" /> </fieldset> </form> <div id="priceCol"></div> получить сумму значений атрибутов price всех выбранных (checked="true") элементов input реализовывал вот так: Код:
price = 0; form = document.calc; for (i=0; i<=form.elements.length; i++) { if (form.elements[i].nodeName == 'INPUT' && form.elements[i].hasAttribute('price') && form.elements[i].checked) { price += form.elements[i].attributes.price.value; } } document.getElementById('priceCol').innerHTML = price+'рублей'; |
02.12.2008, 12:38 | #17 |
Пессимист
Сообщений: 618
Регистрация: 22.07.2004
Не в сети |
Userator, не взлетит, по многим причинам =)
1) дай форме idшник - "name" может быть неуникальным 2) навскидку должно быть так: Код:
var sum = 0; var form = document.getElementById('calcForm'); var group = form.getElementsByTagName('input'); for(i=0;i<group.length;i++) { var el=group[i]; var price = el.attributes.price; if (price && el.checked) { sum += parseInt(price.value); } } document.getElementById('priceCol').innerHTML = sum.toString() + ' рублей'; UPD: и неплохо было бы проверить document.getElementById('priceCol') на существование - если у тебя сначала код выполнится, а потом div в потоке появится |