PDA

Показать полную графическую версию : Java Script + IFRAME


CBMen
10-04-2003, 12:04
Подскажите пожалуйста как передать аргумент из IFRAME функции Java Script, которая находится в основном тексте документа?
Спасибо.

Vlad Drakula
11-04-2003, 16:52
посмотри на моей страничке(она сделана вся на js)(простокодом занимать место не хочется)Vlad-Mokeev@narod.ru
если не разберешся в коде то пиши, отвечу.

CBMen
11-04-2003, 18:05
Спасибо Vlad Drakula, пошел смотреть.

juniorgost
19-08-2006, 01:06
Проблема:
Имеется страница с несколькими iframe в которые грузятся другие страницы. Нужно прочитать\записать данные в формы этих iframe. Проблема в том что на домашнем сервере все работает, но когда все это выкладывается в нет, то после загрузки всей страницы при попытке чтения или записи происходит ошибка. В чем может быть проблема? С именами форм, элементов все в порядке.

juniorgost
21-08-2006, 14:12
При выполнении скрипта на странице, которая сабмитет форму в другом фрейме (или в ифрейме) выдается ошибка Permission Denied.
Хотя если тот же документ открыть с локально, то все прекрасно работает.
В чем ошибка?
Так же не получается считать значение полей ввода, но и в этом случаи все работает, если страницу открыть с хард диска.
Люди добрые и умные, может кто поставит на путь истинный...

Да, при чтении значений полей ввода никакой ошибки не выводится, просто ничего не происходит.

Vlad Drakula
21-08-2006, 14:33
juniorgost
Да, при чтении значений полей ввода никакой ошибки не выводится, просто ничего не происходит.
1) открываем error log в FF и смотрим что пишет...
2) код в студию!

juniorgost
21-08-2006, 15:32
Main page:

<html>

<script language="JavaScript">
function submit_func()
{
document.getform.UserForm.Edit1.value="Value1";
document.getform.UserForm.Edit2.value="Value2";
document.getform.UserForm.Edit3.value="Value3";
document.getform.UserForm.submit();
}
</script>

<body>

<iframe name="getform" src="user.html" width="500" height="500" border="0" onload='setTimeout("submit_func()",10000);'>

</body>
</html>


User page:

<html>
<body>
<form name="UserForm" action="save.php" method="post">
<input type="text" name="Edit1" value="">
<input type="text" name="Edit2" value="">
<input type="text" name="Edit3" value="">
</form>
</body>
</html>

Vlad Drakula
21-08-2006, 15:38
juniorgost
1)
document.getform.UserForm.Edit1.value="Value1";
document.getform.UserForm.Edit2.value="Value2";
document.getform.UserForm.Edit3.value="Value3";
document.getform.saveform.submit();
очень похоже на ошибку.

2)
iframe - это другой документ... соответственно и обращаться к его содержимому нжно по другому.

juniorgost
21-08-2006, 15:45
т.е. по другому?
Нельзя ли подробнее ?

Vlad Drakula
21-08-2006, 16:07
я думаю что нужно смотреть в эту сторону: document.frames['getform'].document.saveform.submit();

juniorgost
21-08-2006, 16:16
Thanks

juniorgost
21-08-2006, 17:31
Vlad Drakula ,
вроде бы все работает, но как только я гружу страницу в нет и загружаю ее оттуда в ифрейм, то при выполнении чтения/записи значений полей ввода ифрейма выдается ошибка Acces denied.
Опять же локально все работает.

Vlad Drakula
21-08-2006, 20:45
juniorgost
весьма велика вероятность что это из-за политик безопасность броузера, попробуйте в разных броузерах.

juniorgost
21-08-2006, 22:48
Vlad Drakula
Попробовал в Опере. Ошибка: message: Security error: attempted to read protected variable. Ты был прав.
Ну тогда выходит что это невозможно, или "мы это еще не знаем"..?

Vlad Drakula
27-08-2006, 11:07
juniorgost
наверное мы этого еще не знаем... а вообше я работаю с содержанием фреймов... с IFRAME
по крайне записать и прочитать содержимое фрейма получается...
так что может просто не править значение в полях а прочто перезаписавать содержимое фрейма?




© OSzone.net 2001-2012