передача данных в родительское окно

Старый mweb

Модератор: [mweb team]

передача данных в родительское окно

Сообщение Jedi Пт апр 18, 2008 17:36

всем привет. нужна помощь. тут уже где-то эта тема уже была. но что-то я её не нашёл.

есть у меня поле инупт с именем name
и поле хидден с именем id
и есть кнопка. при нажатии на кнопку должно появляться новое окно
в этом окне список элементов типа <a>имя</a>
так вот при нажатии на это "имя" в родительское окно в поле инпут name должно записаться это имя. как это реализовать на яваскрипте то, а то я его плохо знаю.

новое окно открывается onClick="window.open("file.php");

а передаются параметры parent.document ... как то так, да?
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Jedi Пт апр 18, 2008 18:21

спасибо. разобрался.
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Jedi Пт апр 18, 2008 18:25

мне теперь вот что нужен. опять таки ява скрипт

есть у меня N полей типа чекбокс с именем ar[0], ar[1], и.т.д массив короче.

надо сделать самый верхний чекбокс, при клике на который отмечаются все. или наоборот снимаются.
ну вообщем как это мэйле устроино.

вот это я уж точно не знаю как самому сделать (((
ява скрипт плохо знаю оч ((
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Padonak Пт апр 18, 2008 19:08

ща попробуем
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение Padonak Пт апр 18, 2008 19:43

Код: Выделить всё
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Checkboxes</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="imagetoolbar" content="no">
<style type="text/css">
<!--
body{
padding: 0px 0px 0px 0px;
margin: 0px 0px 0px 0px;
font-family: Georgia, Verdana, Helvetica, Arial;
font-size: 12px;
}
#demo{
padding-left: 45%;
text-align: left;
margin-top: 200px;
}
.total{
font-size: 11px;
font-weight: bold;
letter-spacing: 2px;
}
-->
</style>
<script language="JavaScript" type="text/javascript">
<!--
function setCheckboxes(){
var fields = document.forms["jedi"].elements;
var spn = document.getElementsByTagName("SPAN");
for(var i = 0; i < fields.length; i++){
if(fields[i].name.indexOf("all_") == -1){continue;}
else{
fields[i].style.cursor = "pointer";
fields[i].onclick = function(){
if(this.checked == true){
for(var k = 0; k < fields.length; k++){
fields[k].checked = true;
}
for(var s = 0; s < spn.length; s++){
if(spn[s].className != "total"){continue;}
else{spn[s].innerHTML = "Снять все отметки";}
}
}
else{
for(var n = 0; n < fields.length; n++){
fields[n].checked = false;
}
for(var s = 0; s < spn.length; s++){
if(spn[s].className != "total"){continue;}
else{spn[s].innerHTML = "Отметить все";}
}
}
}
}
}
}
//-->
</script>
</head>
<body onload="setCheckboxes()">
<div id="demo">
<form name="jedi" action="">
<input type="checkbox" name="all_top">&nbsp;&nbsp;<span class="total">Отметить все</span><br><br>
<input type="checkbox" name="a_1">&nbsp;&nbsp;раз<br>
<input type="checkbox" name="a_2">&nbsp;&nbsp;два<br>
<input type="checkbox" name="a_3">&nbsp;&nbsp;три<br>
<input type="checkbox" name="a_4">&nbsp;&nbsp;четыре<br>
<input type="checkbox" name="a_5">&nbsp;&nbsp;пять<br><br>
<input type="checkbox" name="all_bottom">&nbsp;&nbsp;<span class="total">Отметить все</span>
</form>
</div>
</body>
</html>
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение Padonak Сб апр 19, 2008 12:26

2Jedi: так чо подошло тебе илле нед? -08-
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение Jedi Сб апр 19, 2008 13:01

2Padonak: да, супер. спасибо.
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Padonak Сб апр 19, 2008 18:01

2Jedi: просто ты молчишь - я подумал может чо нитак -02-
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение Jedi Пн апр 21, 2008 11:11

А можно сделать как-то чтобы не было onLoad в теге боди.
А то я пишу компонент и он должен быть не зависим
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Padonak Пн апр 21, 2008 16:12

ну у тебя наверняка ведь будут на странице изображения? привяжи срабатывание ф-ции к загрузке последнего изображения например...

Код: Выделить всё
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Checkboxes</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="imagetoolbar" content="no">
<style type="text/css">
<!--
body{
padding: 0px 0px 0px 0px;
margin: 0px 0px 0px 0px;
font-family: Georgia, Verdana, Helvetica, Arial;
font-size: 12px;
}
#demo{
padding-left: 45%;
text-align: left;
margin-top: 200px;
}
.total{
font-size: 11px;
font-weight: bold;
letter-spacing: 2px;
}
-->
</style>
<script language="JavaScript" type="text/javascript">
<!--
function setCheckboxes(){
var fields = document.forms["jedi"].elements;
var spn = document.getElementsByTagName("SPAN");
for(var i = 0; i < fields.length; i++){
if(fields[i].name.indexOf("all_") == -1){continue;}
else{
fields[i].style.cursor = "pointer";
fields[i].onclick = function(){
if(this.checked == true){
for(var k = 0; k < fields.length; k++){
fields[k].checked = true;
}
for(var s = 0; s < spn.length; s++){
if(spn[s].className != "total"){continue;}
else{spn[s].innerHTML = "Снять все отметки";}
}
}
else{
for(var n = 0; n < fields.length; n++){
fields[n].checked = false;
}
for(var s = 0; s < spn.length; s++){
if(spn[s].className != "total"){continue;}
else{spn[s].innerHTML = "Отметить все";}
}
}
}
}
}
}
//-->
</script>
</head>
<body>
<div id="demo">
<form name="jedi" action="">
<input type="checkbox" name="all_top">&nbsp;&nbsp;<span class="total">Отметить все</span><br><br>
<input type="checkbox" name="a_1">&nbsp;&nbsp;раз<br>
<input type="checkbox" name="a_2">&nbsp;&nbsp;два<br>
<input type="checkbox" name="a_3">&nbsp;&nbsp;три<br>
<input type="checkbox" name="a_4">&nbsp;&nbsp;четыре<br>
<input type="checkbox" name="a_5">&nbsp;&nbsp;пять<br><br>
<input type="checkbox" name="all_bottom">&nbsp;&nbsp;<span class="total">Отметить все</span>
</form>



<br><br>
<img src="http://forum.mweb.ru/images/avatars/547180073452ce5c92ab0a.gif" alt="">
<script language="JavaScript" type="text/javascript">
<!--
document.images[document.images.length - 1].onload = setCheckboxes;
//-->
</script>



</div>
</body>
</html>


проверил в ИЕ7, ФФ и Опере - все пашет. можно еще к чему-то привязать эту ф-цию я же не знаю чо там у тебя за шойтан в разработке -04-
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение Padonak Пн апр 21, 2008 23:58

Изображение подошло?
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение Muerto Вт апр 22, 2008 9:08

Может проще из скрипта привязать к window.onload?
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва

Сообщение Kat Вт апр 22, 2008 9:23

нужно использовать листенер:
в код скрипта прописывается -
Код: Выделить всё

/*1.листенер-----*/
function addHandler(object, event, handler){
   event = (event) ? event : ((window.event) ? window.event : null);
   if(event){
        if (typeof object.addEventListener != 'undefined')
          object.addEventListener(event, handler, false);
      else
          object.attachEvent('on' + event, handler);
   }
}
function removeHandler(object, event, handler){
   event = (event) ? event : ((window.event) ? window.event : null);
   if(event) {
      if(typeof object.removeEventListener != 'undefined')
         object.removeEventListener(event, handler, false);
      else
         object.detachEvent('on' + event, handler);
   }
}

и теперь опять же в коде регистрируется сама функция -
Код: Выделить всё
//регистрация функции
addHandler(window,'load',setCheckboxes);


таким образом можно привязать сколько угодно функций на одно событие-в данном случае-на onload
Аватара пользователя
Kat
Курильщик
 
Сообщения: 309
Зарегистрирован: Чт май 18, 2006 16:49

Сообщение Jedi Вт апр 22, 2008 11:49

Padonak, да подошло.
у мну просто компанет для битрикса вот поэтому так и приходится.
выводит он список картинок напротив каждой стоит галочка ))
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia


Вернуться в Архив

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

cron