iframe + form + target + ie = БОРОДА!
Есть страничка (используються фрэймы)
Создаю в одном из фрэймов - iframe под средстом createElement + присваиваю ему name Так же динамически содаёться форма с таргетом на данный iframe Делая submit у формы, во всех браузерах, конечно кроме нашего любимого - всё проходит как надо, страница загружаеться в ифрэйме. Но в ie выскакивает новое окно. 3 часа не могу дать ладу |
Цитата:
|
var frame = document.createElement('frame');
frame.name = 'IN_Frame';
fmdoc.body.appendChild(frame);
fmdoc это document фрэйма в который вставляеться iframe |
![]() Используйте setAttribute для name:
frame.setAttribute("name", "IN_Frame");
|
Во первых прошу прощение, 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>
Ниже приведённый код так же не работает |
Попробуйте так:
<!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>
|
Действительно таким методом всё работает.
Большое спасибо, очень помогли. |
| Часовой пояс GMT +3, время: 14:54. |