Показать полную графическую версию : Java Script + IFRAME
Подскажите пожалуйста как передать аргумент из IFRAME функции Java Script, которая находится в основном тексте документа?
Спасибо.
Vlad Drakula
11-04-2003, 16:52
посмотри на моей страничке(она сделана вся на js)(простокодом занимать место не хочется)Vlad-Mokeev@narod.ru
если не разберешся в коде то пиши, отвечу.
Спасибо 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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.