Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Проблема с передачей переменных в javascript из iframe (Евгений Александрович)
Author Message
Евгений Александрович
Guest





Карма: 388
   поощрить/наказать


PostPosted: Fri Sep 26, 2008 7:09 am (написано за 8 минут 18 секунд)
   Post subject: Проблема с передачей переменных в javascript из iframe
Reply with quote

Есть форма.

<form action='' method='post' name='send' id='send'>
<input type='hidden' name='action' value='add_gzad'>
<input type='text' name='id' value='$id'>
<input type='hidden' name='id_sum' value='$num8'>
...
<input id=sub type=submit value='Добавить задачу' onClick='addSum(); return false;'>

и javascript обработчик.

function addSum()
{
    form = document.getElementById("send");
    id = form.id.value;
    id_sum = form.id_sum.value;

alert(id);

}

т.е. просто функция получает переменные и выводит их. и все работает.

Но вот когда такая же функция с такими же полями выполняется из скрытого iframe в который загружена эта форма.
то переменные в Opera не передаются...( в IE все нормально.

вот функция которая выполняется из формы в iframe

function addSum()
{
   form = window.frames['имя_фрейма'].document.getElementById('id_формы');

id = form.id.value;
id_sum = form.id_sum.value;

alert(id);
}

переменные выводятся ==0 хотя если поставишь значние value в форму то будет передаваться эти значения.
Т.е. те, которые вводишь в форму ручками не передаються.

В чем может быть проблема?
Back to top
dimagolov
Участник форума



Joined: 04 Feb 2007
Posts: 1664
Карма: 96
   поощрить/наказать

Location: Christ Church, Barbados

PostPosted: Fri Sep 26, 2008 2:20 pm (спустя 7 часов 11 минут; написано за 1 минуту 22 секунды)
   Post subject:
Reply with quote

1. не именуйте элементы зарезервированными словами
2. атрибуты это всегда строки
3. давайте элементам формы не только name, но и id и обращайтесь к ним через getElementById
Back to top
View user's profile Send private message
Евгений Александрович
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Sep 29, 2008 5:09 am (спустя 2 дня 14 часов 49 минут; написано за 43 секунды)
   Post subject:
Reply with quote

Не помогает. Дело скорее всего в том что данные пытаюсь получить ИЗ iframe.
Есть какие нибудь еще варианты. Не хочется ограничивать народ только браузеров IE.
Back to top
Ex_Soft
Участник форума



Joined: 28 Apr 2005
Posts: 138
Карма: -4
   поощрить/наказать


PostPosted: Wed Oct 15, 2008 11:17 pm (спустя 16 дней 18 часов 7 минут; написано за 34 секунды)
   Post subject:
Reply with quote

Code (JavaScript): скопировать код в буфер обмена
// Get var
SmthVariable=document.getElementById("SmthIFrame").SmthIFramesVariable;
// ||
SmthVariable=frames[SmthIFrameNo].SmthIFramesVariable;

// Call function
SmthVariable=document.getElementById("SmthIFrame").contentWindow.SmthIFramesFunction();
// ||
SmthVariable=frames[SmthIFrameNo].SmthIFramesFunction();

// Get control's value
SmthVariable=document.getElementById("SmthIFrame").contentWindow.document.getElementById("SmthIFramesInput").value;
// ||
SmthVariable=frames[SmthIFrameNo].document.getElementById("SmthIFramesInput").value;
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML