Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача данных формы между окнами 
:(
    Опции темы
Shadow_1512
Дата 3.2.2005, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.12.2004

Репутация: нет
Всего: нет



Значится есть страничка, по ссылке открывается попап, в котором есть некая форма. Форма заполняется и по нажатию кнопки ее данные перекачиваются в форму, которая есть в исходном окне в невидимом слое, после чего эту форму в невидимом слое надо сабмитить,ну а окно попап закрыть.
Представляю скрипт:
Код

function copySearchDataCloseWin()
{
 var frm   = window.document.forms.search;//Форма из попапа
 var frm_o = window.opener.document.forms.form1;//Форма исходного окна

 frm_o.action = frm.action;

 for(i=0; i<frm_o.elements.length; i++)//передача текстовых между формами
   {
     frm_o.elements[frm_o.elements[i].name].value =
     frm.elements[frm_o.elements[i].name].value;
   }

//Проверка чекбоксов

 if(frm.elements["ArchitectureMonument"].checked)
   frm_o.elements["ArchitectureMonument"].value = 1;
 else
   frm_o.elements["ArchitectureMonument"].value = 0;

 if(frm.elements["KapRemounte"].checked)
   frm_o.elements["KapRemounte"].value = 1;
 else
   frm_o.elements["KapRemounte"].value = 0;

 if(frm.elements["ClearInsideFinish"].checked)
   frm_o.elements["ClearInsideFinish"].value = 1;
 else
   frm_o.elements["ClearInsideFinish"].value = 0;

 if(frm.elements["Parking"].checked)
   frm_o.elements["Parking"].value = 1;
 else
   frm_o.elements["Parking"].value = 0;

 if(frm.elements["Cellar"].checked)
   frm_o.elements["Cellar"].value = 1;
 else
   frm_o.elements["Cellar"].value = 0;

 if(frm.elements["Penthouse"].checked)
   frm_o.elements["Penthouse"].value = 1;
 else
   frm_o.elements["Penthouse"].value = 0;

 if(frm.elements["IncompletedConstruction"].checked)
   frm_o.elements["IncompletedConstruction"].value = 1;
 else
   frm_o.elements["IncompletedConstruction"].value = 0;

//Собственно сабмит формы исходного окна
 frm_o.submit();

 window.close();
}


Но.........на строку frm_o.submit() пишет, что frm_o.submit is not a function в случае Мозиллы или
"объект не поддерживает данное свойство или метод" в случае IE6. При том, что если сделать alert(frm_o) он говорит, что это есть ObjectHTMLInputForm. И еще момент, есть похожий JS, но для другого случая, так вот там все аналогично, но работает.....

Я уже потерял веру в себя(smile)), помогите

Это сообщение отредактировал(а) Shadow_1512 - 3.2.2005, 12:54
PM MAIL   Вверх
Sardar
Дата 3.2.2005, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



У меня точно такая же трабла была, тоже чуть в осадок не выпал. Причину не знаю, но иногда метод submit у формы становится элементом <input type="submit". Сам метод после этого не доступен. Если убрать <input name="submit", то всё должно работать...

Знаю что выглядит как бред сумасшедшего, меня до сих пор глючит по этому поводу smile
Дай код своей формы.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Shadow_1512
Дата 3.2.2005, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.12.2004

Репутация: нет
Всего: нет



Код моей формы настолько велик, что я его сюда помещать не буду, помещу только начало формы и конец, собственно говоря. У меня, кстати, данные передаются не по input type="submit", а по onclick....
Код

<form action="search.phtml" method="GET" name="search">
<input type="hidden" name="object" value="true">
<input type="hidden" name="submit" value="true">
..................................................................................
<div style="text-align:right; padding-right:30px;">
 <a href="javascript:;" onclick="copySearchDataCloseWin();"><img src="/images/button_find.gif"   hspace=4 alt="найти" title="найти" border="0" id="button"></a>
<a href="javascript:;" onClick="forms[0].reset();"><img src="/images/button_reset.gif" hspace=4 alt="сбросить" title="сбросить"></a>
</div>
</form>


А вот код формы, в которую данные переливаются (тоже сокращенно):
Код

<div style="display:none;">
<form method="POST" name="form1" id="form1">
<input type="hidden" name="object" value="true">
<input type="hidden" name="submit" value="true">
</form>



Это сообщение отредактировал(а) Shadow_1512 - 3.2.2005, 14:48
PM MAIL   Вверх
Sardar
Дата 3.2.2005, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Убери
HTML
<input type="hidden" name="submit" value="true">

Дай более нормальное имя. Приходится мирится с глюками браузера.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Shadow_1512
Дата 3.2.2005, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.12.2004

Репутация: нет
Всего: нет



Заработало!!!!:)

Спасибо!
PM MAIL   Вверх
Shadow_1512
Дата 4.2.2005, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.12.2004

Репутация: нет
Всего: нет



Продолжение вчерашней истории:
Есть формочка:

Код

<form action="/dic.phtml?id=1" method="POST" name="owner">
<input type="hidden" name="id_OwnerRealEstate" value="">&nbsp;&nbsp;
<input name="OwnerRealEstateName" type="text" size="50" value="">
<a href="javascript:;" onclick="checkAndSubmitForm();">
<img src="/images/button_ok.gif" hspace=4 alt="ок" title="ок" id="button">
</a>
<a href="javascript:;" onclick="forms[0].reset();">
<img src="/images/button_reset.gif" hspace=4 alt="сбросить" title="сбросить" id="button">
</a>
</form>


Есть функция:

Код


function checkAndSubmitForm()
{
 frm = window.document.forms.owner;
 counter = 0;
 for(i = 0; i < frm.elements.length; i++)
   {
     if(frm.elements[i].value)
       counter++
   }
 if(counter)
   {
     frm.submit();
   }
 else
   {
     alert("Вы не ввели значение поля");
     return false;
   }
}



Итог: не работает submit в IE, в Мозилле работает.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1221 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.