Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Оникся
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 6
#1

Фреймы- запуск функции в одном, выполнение в другом

27.05.2016, 12:08. Просмотров 904. Ответов 8
Метки нет (Все метки)

Здравствуйте. Я начал изучать javaScripr по учебнику "Раскрытие тайн JavaScript" авторства Джима Киу и споткнулся на очередном примере. Надеюсь кто-нибудь мне поможет решить проблему (код взят прямо из учебника, он там дан как пример)
1) Есть главная страница с кодом двух фреймов

<html>
<head>
<title>фреймы</title>
</head>
<frameset rows="50%, 50%">
<frame src="Webpage1.html" name="topPage"/>
<frame src="Webpage2.html" name="bottomPage"/>
</frameset>
</html>
---------------------------

2) Есть код верхнего окна

<html>
<head>
<title>Web Page 1</title>
<script language="JavaScript" type="text/javascript">
function ChangeContent()
{
alert ('Function called')
}
</script>
</head>
<body>
<form method="post">
<p>
<input name="WebPage1" value="Web Page 1" type="button"/>
</p>
</form>
</body>
</html>
--------------------------

3) Есть код нижнего окна

<html>
<head>
<title>Web Page 2</title>
</head>
<body>
<form method="post">
<p>
<input name="WebPage2" value="Web Page 2" type="button" onclick="parent.topPage.ChangeContent();"/>
</p>
</form>
</body>
</html>
---------------------------

Если верить примеру, то при нажатии на кнопку в нижнем окне, должна запуститься функция, которая выполнится в верхнем окне и появится сообщение от алерта, но ничего не происходит. Почему? Благодарю за помощь
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2016, 12:08
Ответы с готовыми решениями:

Можно ли на javascript'e в одном js-файле использовать функции, описанные в другом js-файле?
Подскажите, плз, можно ли на javascript'e в одном js-файле использовать...

Много синхронных действий как отследить выполнение последнего? Как их сделать друг за другом в несколько поток
Много синхронных действий как отследить выполнение последнего? Как их сделать...

В одном поле ввожу число в другом поле должно автоматически проставиться число
Как сделать чтобы например я ввёл в поле volume цифру 1 в поле price бы...

Выполнение функции без id
function setOpacity(value) { qwe.style.opacity = value/10; ...

Выполнение функции в браузерах
var apples = 5; function eatApples(){ alert('You have ' + apples + ' apples');...

8
reisal78
894 / 645 / 218
Регистрация: 28.04.2013
Сообщений: 1,843
27.05.2016, 12:19 #2
Цитата Сообщение от Оникся Посмотреть сообщение
Я начал изучать javaScripr по учебнику "Раскрытие тайн JavaScript"
java != javascript
перенес
0
Оникся
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 6
27.05.2016, 12:22  [ТС] #3
Извиняюсь, но не понял ответа

А, понял. Да, это разные вещи)
0
kalabuni
Нарушитель
3233 / 2558 / 614
Регистрация: 18.04.2012
Сообщений: 7,695
27.05.2016, 13:35 #4
плохой учебник, неправильный

перепишите инструкцию -- onclick="parent.topPage.ChangeContent();"
на следующую -- onclick="parent.frames ['topPage'].ChangeContent();"
0
Оникся
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 6
27.05.2016, 13:47  [ТС] #5
К сожалению, без изменений
0
kalabuni
Нарушитель
3233 / 2558 / 614
Регистрация: 18.04.2012
Сообщений: 7,695
27.05.2016, 14:05 #6
Цитата Сообщение от Оникся Посмотреть сообщение
К сожалению, без изменений
вам, видимо, к хирургу надо -- кривые руки лечить

Дело в том, что нормально работает и первый вариант (который из учебника) и мой (только мой правильнее с точки зрения синтаксиса)
0
Оникся
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 6
27.05.2016, 14:08  [ТС] #7
Я дал в первом сообщении ровно то, что у меня в трёх текстовиках. При нажатии на кнопку в нижнем окне не происходит ничего. Если же Вы скопировали эти три кода и у Вас всё работает, то может дело не в моих руках, а в браузерах или ещё в чём-то?

---Проверил не в хроме- работает. Видимо в хроме проблема. Благодарю за ответы
0
kalabuni
Нарушитель
3233 / 2558 / 614
Регистрация: 18.04.2012
Сообщений: 7,695
27.05.2016, 14:26 #8
Лучший ответ Сообщение было отмечено Оникся как решение

Решение

Цитата Сообщение от Оникся Посмотреть сообщение
Я дал в первом сообщении ровно то, что у меня в трёх текстовиках
это должно быть не в "текстовиках", а в файлах с расширением .html -- и эти три файла должны быть в одной папке.

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

Добавлено через 13 минут
Цитата Сообщение от Оникся Посмотреть сообщение
Проверил не в хроме- работает. Видимо в хроме проблема.
И что вам Хром написал в консоли ошибок?
0
Оникся
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 6
27.05.2016, 15:21  [ТС] #9
Вот скриншот ошибки
0
Миниатюры
Фреймы- запуск функции в одном, выполнение в другом  
27.05.2016, 15:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2016, 15:21

Выполнение функции Enter-ом
Здравствуйте. Подскажите где ошибка. Есть функция calcRoute(). Нужно чтоб она...

Javascript - выполнение функции
Код: &lt;a onclick='SomeFunction(SomeField.value, &quot;SomeValue&quot;)'...

Последовательное выполнение функции
Есть некая функция: function checkmoname() { var mo_name =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru