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

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

27.05.2016, 12:08. Просмотров 291. Ответов 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>
---------------------------

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

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

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

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

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

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

8
reisal78
891 / 642 / 218
Регистрация: 28.04.2013
Сообщений: 1,835
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
Нарушитель
3169 / 2518 / 603
Регистрация: 18.04.2012
Сообщений: 7,620
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
Нарушитель
3169 / 2518 / 603
Регистрация: 18.04.2012
Сообщений: 7,620
27.05.2016, 14:05 #6
Цитата Сообщение от Оникся Посмотреть сообщение
К сожалению, без изменений
вам, видимо, к хирургу надо -- кривые руки лечить

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

---Проверил не в хроме- работает. Видимо в хроме проблема. Благодарю за ответы
0
kalabuni
Нарушитель
3169 / 2518 / 603
Регистрация: 18.04.2012
Сообщений: 7,620
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
Привет! Вот еще темы с решениями:

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

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

Предотвратить выполнение JavaScript функции
Доброго времени суток. Есть некоторый сайт, на котором может отображаться...

Как ускорить выполнение функции?
Здравствуйте, решал задачу, по поиску пары элементов массива, которые равны...


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

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

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