Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.07.2010, 22:34
Интересующийся
Отправить личное сообщение для Diem Посмотреть профиль Найти все сообщения от Diem
 
Регистрация: 24.07.2009
Сообщений: 15

iframe + form + target + ie = БОРОДА!
Есть страничка (используються фрэймы)
Создаю в одном из фрэймов - iframe под средстом createElement + присваиваю ему name

Так же динамически содаёться форма с таргетом на данный iframe

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

Но в ie выскакивает новое окно.

3 часа не могу дать ладу
Ответить с цитированием
  #2 (permalink)  
Старый 22.07.2010, 23:57
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Diem
iframe под средстом createElement + присваиваю ему name
Покажите код
Ответить с цитированием
  #3 (permalink)  
Старый 23.07.2010, 02:42
Интересующийся
Отправить личное сообщение для Diem Посмотреть профиль Найти все сообщения от Diem
 
Регистрация: 24.07.2009
Сообщений: 15

var frame = document.createElement('frame');
frame.name = 'IN_Frame';
fmdoc.body.appendChild(frame);


fmdoc это document фрэйма в который вставляеться iframe
Ответить с цитированием
  #4 (permalink)  
Старый 23.07.2010, 02:58
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873


Используйте setAttribute для name:
frame.setAttribute("name", "IN_Frame");
Ответить с цитированием
  #5 (permalink)  
Старый 23.07.2010, 21:46
Интересующийся
Отправить личное сообщение для Diem Посмотреть профиль Найти все сообщения от Diem
 
Регистрация: 24.07.2009
Сообщений: 15

Во первых прошу прощение, createElement('iframe') вместо frame конечно.
Во вторых такое поведение происходит только в режиме совместимости, ie 6 из multiple ie так же выкидывает новое окно

<html>
    <head>
    </head>

    <body>
        <script>
            var iframe = document.createElement('iframe');
            iframe.name = 'IFrame';

            document.body.appendChild(iframe);
            iframe.name = 'IFrame';
            iframe.setAttribute('name', 'IFrame');
        </script>

        <form target="IFrame">
            <input type="submit">
        </form>
    </body>
</html>


Ниже приведённый код так же не работает

Последний раз редактировалось Diem, 24.07.2010 в 14:16.
Ответить с цитированием
  #6 (permalink)  
Старый 23.07.2010, 22:18
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Попробуйте так:
<!DOCTYPE html>
<a href="http://google.ru" target="test">link</a>
<script>
function parse(html) {
	var tmp = document.createElement("div");
	tmp.innerHTML = html;
	return tmp.firstChild;
}
document.body.appendChild(parse('<iframe name="test"></iframe>'));
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 24.07.2010, 14:16
Интересующийся
Отправить личное сообщение для Diem Посмотреть профиль Найти все сообщения от Diem
 
Регистрация: 24.07.2009
Сообщений: 15

Действительно таким методом всё работает.
Большое спасибо, очень помогли.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery + iframe Fidel jQuery 6 12.10.2013 23:43
Загрузить страницу в iframe randomstar Events/DOM/Window 1 13.01.2010 09:46
Javascript запрещающий открывать iframe в новом окне. HELP! Андреи Events/DOM/Window 11 26.09.2009 07:36
как можно создать iframe со скриптами GOll Общие вопросы Javascript 2 05.05.2009 11:32
установка позиции курсора или выделения в iframe mister_maxim Events/DOM/Window 5 18.04.2009 10:43