Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Общие вопросы

Проблема с открывающимся окном

> Submit происходит в том-же окне
эт конечно да, но вот Response (ответ от сервера)
может идти почти куда угодно :)
(в новое окно или в уже существующее)
надо использовать свойство target для формы
(см. спецификацию HTML 4.0)
если frame (читай объект типа window) с таким именем существует
то ответ пойдет туда, нет - будет открыто новое окно...

вот пример того, что просили (2 файла):
код для test_form1.html
--Begin------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script>
<!--
function openWin() {
.var tp=1, lf=1,.hg=600,.wd=700;
.wFolders = window.open( "test_form2.html",
.."test_frm",
."top="+tp+",left="+lf+",height="+hg+",width="+wd+
.",dependent=yes,menubar=no,resizable=yes,toolbar=no,"+
"scrollbars=yes");
}
function q1() {
.window.name="main123";
//тут явно проставляем имя фрейму(окну)
}
//-->
</script>
</head>
<body onload="q1();">
<a href="javascript:openWin()">Open Form</a>
</body>
</html>
--End------------------------

код для test_form2.html
--Begin----------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body>
<form action="submit_handler" name="testF" id="testF" target="main123">
<input type="text" name="test_fld" value="">
<input onclick="window.close();" type="submit" value="Submit">
</form>
</body>
</html>
--End------------------------

Note: submit_handler - что-то что обрабатывает данные от формы,
для примера значения не имеет.

Еще один совет: во избежание "конкуренции"
используете более менее уникальные имена для окон.
т.к. есть бага (на мой взгляд): если один сайт открывает окно с именем "Q"
а потом второй тоже пытается открыть страничку в новое (казалось бы)
окно "Q", то содержание этой странички попадает в уже открытое окно :(

Вот и все.
СообщениеАвторДата
varan13.06.2002 11:36
Arcady14.06.2002 16:40
Leechy13.06.2002 23:27
NAM14.06.2002 11:12
varan14.06.2002 09:39