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

Поиск:

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


Новичок



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

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



доброго времени суток!
надо передать между фрэймами несколько значений переменных посредством JavaScript чтобы в зависимости от них загружался разный контент.как это сделать?
можете для примера на 2-х фрэймах показать вот с такой задачей(приспособить под свою страницу я думаю смогу smile )
(кое что опущу)
Код

var firstvar
var secontvar
function PutToFrame(firstvar, secondvar)
{
parent.main.location.href="MainPage.htm"
}
...
<input type="button" name="btnGoTo" onclick="PutToFrame('mother','father')" value="Show">

на MainPage.htm есть несколько обьектов(предположим пара текстовых полей с именами MyText1 и MyText2).надо чтобы значение переменных firstvar и secondvar записались в текстовые поля.

я сам бился бился никаких идей smile 
PM MAIL   Вверх
FortMax
Дата 12.3.2008, 05:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 2.10.2006
Где: Россия, г. Бироби джан ЕАО

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



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


--------------------
user posted image
PM MAIL ICQ   Вверх
tired
Дата 12.3.2008, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



да именно так.еще как вариант я пытался динамически создать документ но функция почемуто не всегда работала корректно и еще я не знаю как загрузить в фрэйм только что созданный документ.
вот сама функция:
Код

function ItemPage(name,cost,category)
{
var ItemName = name;
var ItemCost = cost;
var ItemCategory = category;
var ItemAbout;
if (name=="Bioshock") {ItemAbout="О игре Bioshock"} else {
if (name=="Counter-Strike:Sorce") {ItemAbout="О игре Counter-Strike: Source"} else {ItemAbout="Описание отсутствует"};
} ;
myWin=open(ItemName + ".htm");
myWin.document.open();
myWin.document.write("<html><head><title>Интернет-магазин." + ItemCategory + "." +  ItemName +  ".</title></head>");
myWin.document.write("<body>");
myWin.document.write("<font name='Comic Sans MS' size='24'>" + ItemCategory + ":" + ItemName + "<br>" + "<p>" + ItemAbout + "</p></font>");
myWin.document.write("<br>Цена: " +ItemCost + "</body></html>");
}

содержания создоваемого документа пусть вас не пугает, это пробный вариант))
а вот так я ее вызывал:
Код

<a href="javascript:ItemPage('Bioshock',299,'Actions')">Bioshock</a>


просто в универе задали сделать интернет-магазин, а так чтобы отстали делать не привык,хочется по уму чтобы все было))
PM MAIL   Вверх
FortMax
Дата 12.3.2008, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 485
Регистрация: 2.10.2006
Где: Россия, г. Бироби джан ЕАО

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



лучше бы на серверных языках сделал, так далеко не уедешь !!! JavaScript не сможет передать данные на сервер ...


--------------------
user posted image
PM MAIL ICQ   Вверх
tired
Дата 12.3.2008, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я кроме VB,HTML и JavaScript ничего не знаю(причем последние 2 только обложившись кучей литературы)
а может мне кто-нибудь сказать из-за чего функция не коректно работает с разными значениями параметров?
как видно из скрипта мой сайт должен продавать диски.так вот такая ерунда получается что если вызывать функцию с такими параметрами:
Код

<a href="javascript:ItemPage('Counter-Strike:Source',299,'Actions')">Counter-Strike: Source</a>
то все нормально
а если с такими:
Код

<a href="javascript:ItemPage('Bioshock',299,'Actions')">Bioshock</a>

то "Не удается найти...".поставил MSSD,он выделяет вот эту строчку
Код

myWin=open(ItemName + ".htm");

вопрос: почему? smile  smile 
PM MAIL   Вверх
bars80080
Дата 12.3.2008, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



собственно неясно в чём загвоздка,
если документы открываются в одном браузере, пусть даже во фрэймах между ними есть связь (если только они не принадлежат разным доменам)

пример не разбирал, но могу предложить примерно так:
index.html
Код

<html>
<frameset cols="30%, *">
<frame name="left_fr" src="left_fr.html">
<frame name="right_fr" src="right_fr.html">
</frameset>
</html>

left_fr.html
Код

<html><body>
<script>
function alert_left(x) {
    alert('left frame: ' + x); }
function move_par() {
    var a = document.forms[0].lt1.value;
    var b = document.forms[0].lt2.value;
    parent.right_fr.document.forms[0].rt1.value = a;
    parent.right_fr.document.forms[0].rt2.value = b;
}
</script>
left...
<input type="button" value="left button" onclick="top.right_fr.alert_right('from left')" />
<form>
<input type="text" name="lt1" />
<input type="text" name="lt2" />
<input type="button" value="move param to right" onclick="move_par()" />
</form>
</body></html>

right_fr.html
Код

<html><body>
<script>
function alert_right(x) {
    alert('right frame: ' + x); }
function move_par() {
    var a = document.forms[0].rt1.value;
    var b = document.forms[0].rt2.value;
    parent.left_fr.document.forms[0].lt1.value = a;
    parent.left_fr.document.forms[0].lt2.value = b;
}
</script>
right...
<input type="button" value="right button" onclick="top.left_fr.alert_left('from right')" />
<form>
<input type="text" name="rt1" />
<input type="text" name="rt2" />
<input type="button" value="move param to left" onclick="move_par()" />
</form>
</body></html>

PM MAIL WWW   Вверх
tired
Дата 12.3.2008, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



щас прикиним посмотрим что получиться))

Добавлено @ 11:22
bars80080
Ooo, Thanks!!! smile 
Был бы я девочкой расцеловал бы!!! smile 

Это сообщение отредактировал(а) tired - 12.3.2008, 23:42
PM MAIL   Вверх
tired
Дата 12.3.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



еще одна маленькая трабла:
создал документ в который должны передаваться переменные, создал в Menu.htm функцию которая загружает в фрэйм документ и передает в этот документ переменные
Код

function ShowItem(ItemName,ItemCost,ItemType)
{
var ItemName;
var ItemCost;
var ItemType;
parent.main.location.href="ShowItem.htm";
parent.main.document.InputName.ItemName.value = ItemName;
}


в ShowItem.htm есть таблица в ней расположено поле
Код

<table>
 <tr>
  <td><font class="orDizzz12pt">Название диска:</font></td>
  <td>
   <form name="InputName">
    <input type="text" name="ItemName" onFocus="blur()" value="">
   </form>
  </td>
 </tr>
</table> 

но почемуто возникает ошибка
"parent.main.document.InputName.ItemName" - есть null или не является обьектом
мб JavaScript не воспринимает форму в ячейке таблицы как объект?

Это сообщение отредактировал(а) tired - 12.3.2008, 22:21
PM MAIL   Вверх
bars80080
Дата 13.3.2008, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



возможно, браузер не успевает подгрузить документ, поэтому следующая команда обращается на несуществующий объект

если так, то надо сделать проверку на загрузку документа
PM MAIL WWW   Вверх
tired
Дата 14.3.2008, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



решил эту траблу, разделив скрипт на 2 части: 1)загрузка документа в фрэйм и 2) передача переменных и поставил таймер на срабатывание второго скриптаsmile спс за помосчь!)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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