Проблема с открывающимся окном> 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", то содержание этой странички попадает в уже открытое окно :(
Вот и все. |