Открыть новое окно после заполнения формы
Доброго времени суток.
После обработки формы, должно открыться окно с введенным адресом. Т.е. пользователь ввел все данные и в случае если все введено правильно, открывается окно и перенаправляет по другому адресу. Вот мой код, но он не открывает окно :
echo'<script type="text/javascript">
var elm=parent.window.document.getElementById("photo");
elm.innerHTML="'.$url.'";
</script>';
$url = "window.open(' http://url.com','Toolbar=1,Location=0,Directories=0,Status=0,Menubar=0','false' );"
|
Цитата:
Цитата:
"Открываеть окно и перенаправлять по другому адресу"? |
Главная задача открыть новое окно с необходимым адресом, который находится вне моего сайта.
Вот идея была открыть новое окно при помощи window.open(), только функция не запускается. |
Ну если на текущей странице открывать окно - то без проблем, на новой вкладке-увы - зависит от настройки браузеров
|
Если написать
<script>
window.open(' http://url.com','Toolbar=1,Location=0,Directories=0,Status=0,Menubar=0','false' );
</script>
на странице, то открывается новое окно с правильной ссылкой. Но запустив php обработчик, этот код передается в div, но не открывается новое окно. Вот и проблема заключается в том, что функция не запускается |
Мне так же подойдет вызов функции javascript, но только как её автоматически вызвать из php?
|
<script> var link ="http://javascript.ru/window-open" //Адрес отображения popupWin = window.open(link,'contacts','location,width=490,height=368,top=0'); popupWin.focus(); </script> |
Deff, спасибо, но проблема в запуске функции, а не написании её. У меня не получается запустить её. После работы php, эта функция выводится в окно пользователя, но не запускается. Вот и проблема в том, как запустить функцию?
|
Цитата:
Делай по аналогии. Вот так это будет работать у меня в CSP <html> <head> <title>test</title> </head> <script language='cache' runat='server'> s url="http://javascript.ru/window-open" w "<script>",! w "var link ='"_url_"' //Адрес отображения",! w "popupWin = window.open(link,'contacts','location,width=490,height=368,top=0');",! w "popupWin.focus();",! </script> </script> <body> </body> </html> В итоге сгенерится такой контент <html> <head> <title>test</title> </head> <script> var link ='http://javascript.ru/window-open' //Адрес отображения popupWin = window.open(link,'contacts','location,width=490,height=368,top=0'); popupWin.focus(); </script> <body> </body> </html> Окно появляется без проблем... |
Цитата:
Видимо не до конца объяснил проблему. Мне нужно было в ссылку добавить переменные из формы. В итоге я решил сделать по-другому, в php сгенерировать div на все окно и onmousemove он запустит функцию открывания окна + возьмет все необходимые данные из формы. |
Цитата:
<html>
<head>
<title>test</title>
</head>
<script language='cache' runat='server'>
w "<script>",!
w "function go(){",!
w "var link =document.getElementById('url').value",!
w "popupWin = window.open(link,'contacts','location,width=490,height=368,top=0');",!
w "popupWin.focus();",!
w "};",!
w $c(60),"/script>",!
</script>
<body>
<form>
<input type='text' id='url' value='http://javascript.ru/window-open' />
<button onclick='go();'>Go</button>
</form>
</body>
</html>
В итоге...
<html>
<head>
<title>test</title>
</head>
<script>
function go(){
var link =document.getElementById('url').value
popupWin = window.open(link,'contacts','location,width=490,height=368,top=0');
popupWin.focus();
};
</script>
<body>
<form>
<input type='text' id='url' value='http://javascript.ru/window-open'/>
<button onclick='go();'>Go</button>
</form>
</body>
</html>
|
ksa, большое спасибо за помощь. Я сделал кое что похожее, только функция вызывается по mousemove + в место кнопки прозрачный div на все окно.
|
Цитата:
|
До этого пытался запустить функцию сразу после заполнения, но она запускалась раньше, чем заполнялась форма, по-этому вызывалась без некоторых переменных. В итоге по mousemove для меня лучший вариант. Спасибо за помощь :)
|
Цитата:
|
Заполняя форму, пользователь указывает атрибут - открывать новое окно или нет. Если указывает открывать, то после обработки формы откроется окно
|
Все таки поменять onmousemove на onclick, т.к. браузеры блокируют всплывающие окна.
|
| Часовой пояс GMT +3, время: 00:49. |