|
|
|
| Как зделать чтобы при нажатии на сылку открывалось маленькое inf окно. Помогите пожалуйста срочно надо | |
|
|
|
|
|
|
|
для: Joni
(18.06.2006 в 20:15)
| |
<a href="Page.html" onClick="open('','raz','top=320,left=325,width=350,height=220,status=no,scrollbars=yes');">Маленькое окно</a>
|
| |
|
|
|
|
|
|
|
для: Владимир22
(18.06.2006 в 21:20)
| | По-моему только так
<a href="javascript:void(0)" onClick="open('page.html','raz','top=320,left=325,width=350,height=220,status=no,scrollbars=yes');">Маленькое окно</a>
|
| |
|
|
|
|
|
|
|
для: Ziq
(18.06.2006 в 21:31)
| | А по-моему так )))))))))
<a href="Page.html" onClick="open('Page.html','raz','top=320,left=325,width=350,height=220,status=no,scrollbars=yes');return false;">Маленькое окно</a>
|
В таком случае ссылка, хоть и без окошка, но будет работать так же и в браузерах где js отключен )) | |
|
|
|
|
|
|
|
для: Бог Зайцев
(19.06.2006 в 07:40)
| | А как можно открыть в маленьком окне .php?
Чтобы при этом не потерялся параметр, передаваемый в него.
Если использовать open, то параметр, который надо передать в .php, теряется.
Если использовать document.form.submit(), то параметр не теряется, но и новое окно отрывается на весь экран, а старое окно исчезает. | |
|
|
|
|
|
|
|
для: Хулиган
(20.06.2006 в 14:47)
| | А помойму всё таки: window.open('page.php?get_id=123','php',height........); | |
|
|
|
|
|
|
|
для: valenok
(20.06.2006 в 18:32)
| |
<script language="javascript">
function show_window(){
...
document.form2['senddata'].value = 'bla-bla';
window.open('newwindow.php','abc','top=100,left=100,width=300,height=200');
//open('newwindow.php','abc','top=100,left=100,width=300,height=200');
}
</script>
<form name=form2 action="newwindow.php" name="senddata" method="post">
<input type="hidden" name="senddata" value="1">
...
</form>
|
window.open и open это ведь одно и то же (если я правильно понял), и содержимое senddata через них не передается.
А через submit() передать можно, но окно на весь экран, а надо маленькое. | |
|
|
|
|
|
|
|
для: Хулиган
(21.06.2006 в 12:26)
| | Тю.
Какие данные надо передать? | |
|
|
|
|
|
|
|
для: Хулиган
(21.06.2006 в 12:26)
| |
<form method="GET">
<input type="hidden" name="senddata" value="1">
...
</form>
<?php
if(isset($_GET['senddata'])){ ?>
<script language="javascript">
function show_window(){
...
/* document.form2['senddata'].value = 'bla-bla'; */ // Эту строку я не понял
window.open('newwindow.php?senddata=<?=$_GET['senddata']?>','abc','top=100,left=100,width=300,height=200');
}
</script>
<?php } ?>
|
| |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 14:53)
| | newwindow.php
<?php
$sent_data=$_GET['senddata'];
|
| |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 14:55)
| | Такой способ не проходит: js функция show_window() собирает данные из заполненых инпутов формы, склеивает их и ложит в hidden input 'senddata'. При document.form2.submit(); содержимое этого hidden input'a передаётся в newwindow.php, где извлекается через POST. Т.к.
<form name=form2 action="newwindow.php" name="senddata" method="post">
Если обрамить функцию show_window скриптом php с условием isset, то она просто не будет включена сервером в текст html-кода, т.к. input senddata пустой (он заполняется не на сервере).
Если убрать isset, то в страницу выводится обрывок строки:
'abc','top=100,left=100,width=300,height=200');
И опять же функция не работает. | |
|
|
|
|
|
|
|
для: Хулиган
(21.06.2006 в 15:53)
| | А если так:
<form name=form2 name="senddata" method="post">
<input type="hidden" name="senddata" value="1">
...
<input type=submit onClick="javascript:show_window();">
</form>
<script language="javascript">
function show_window(){
...
document.form2['senddata'].value = 'bla-bla';
window.open('newwindow.php?send_data=data','abc','top=100,left=100,width=300,height=200');
}
</script>
|
| |
|
|
|
|
|
|
|
для: Хулиган
(20.06.2006 в 14:47)
| | Ищем в форуме по ключевым словам
form target с логикой "И" | |
|
|
|
|
|
|
|
для: RMW
(21.06.2006 в 17:12)
| | Смотрел в поиске, попробовал 4 разных варианта, ни один не работает.
Максимум, чего добился - это new_window.php открывается в новом окне.
А с его размерами - никак. Или размеры или передача данных, а надо и то, и другое
<script language="javascript">
//ф-ция принимает количество инпутов для проверки
function show_form(input_cnt){
result_str="";
for(a=1; a<input_cnt+1; a++){
s=pad_string_left(a.toString());
//если инпут 'count...' не пустой - запоминаем его содержимое
//и содержимое связаного с ним инпута'data...'
if (document.form1['count'+s].value !=0){
result_str = result_str +
document.form1['data'+s].value + "###" +
document.form1['count'+s].value + '<br>';
}
}
//запихиваем в скрытый инпут результат
document.form2['senddata'].value = result_str;
//если данные для передачи есть - передаём
if (result_str!=""){
document.form2.submit();
}
//иначе отмена
else {
alert('Не заполнено ни одно поле!');
}
}
</script>
<form name=form2 action="new_window.php" name="senddata" target="_blank" method="POST">
<input type="hidden" name="senddata" value=""></form>
<img src="img/next.gif" class="onbutton"
onClick="show_form(5)">
|
Что здесь изменить, чтобы окно было маленьким? | |
|
|
|
|
|
|
|
для: RMW
(21.06.2006 в 17:12)
| | Может есть способ воздействовать на новое окно, чтобы изменить его размеры и чтобы разворачивалось не на весь экран? Или прямо в новом окне как-то указать его размеры?
Или эта задача в принципе нерешаема на js и php? | |
|
|
|
|
|
|
|
для: Хулиган
(21.06.2006 в 22:29)
| | автор: Бог Зайцев (10.06.2006 в 00:40) Тут
Сначала создаем окошко в JS
window.open('http://localhost/js/','window_name','')
|
Затем делаем так, что б форма отправлялась в окошко
<form action = " http://www.sitename.org/curr_vonv.php" target = window_name>
<input name = "sum">
<input type = "submit">
</form>
|
Если окно не было создано до этого через js, то откроется новое окошко )
Либо, если форма не обязательна, можно сделать и так:
<input name = "v1">
<input type = "button" onclick = "window.open(' http://www.sitename.org/curr_vonv.php?sum='+v1.value,'','')">
|
| |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 22:34)
| | Этот пример я тоже пробовал: он вынуждает использовать GET вместо POST в новом окне
<?php
echo($_GET["senddata"]);
?>
а с GET если в строке есть последовательность символов " &" (пробел+амперсанд), то он обрывает строку по этим символам и данные теряются. Например строка "javascript & php" будет передана как "javascript"
Тихо схожу с ума...
Что, писать данные в куки и затем в новом окне читать обратно? | |
|
|
|
|
|
|
|
для: Хулиган
(22.06.2006 в 00:35)
| | 1.
Он нифига не вынуждает )
Вот укороченная версия, спер из соседнего топика.
<form target = "wow" method = "post" onsubmit = "window.open('about:blank','wow','width=100,height=80')">
<input type = submit name = "lol">
</form>
|
2.
Амперсанд при передаче методом get превращается в скромное %26 и уж тем более ничего не прерывает )
3.
Что б сделать %26 из амперсанда вручную нужно воспользоваться функцией
| |
|
|
|
|
|
|
|
для: Бог Зайцев
(22.06.2006 в 15:36)
| | При всем уважении:
1. Таки вынуждает переходить к GET, т.к. если новое окно открыто через window.open, попытка сделать echo($_POST["senddata"]); приводит к ошибке Undefined index. При GET такой ошибки нет.
3.Escape не поможет, т.к. при его использовании возникает ошибка
Call to undefined function: escape()
Вот код, попробуйте сами:
<HTML>
<HEAD>
<TITLE></TITLE>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=cp1251">
</HEAD>
<BODY>
<p>
<script language="JavaScript">
function show_form(){
res_str=document.form['text1'].value;
res_str='newwindow.php?senddata='+res_str;
window.open(res_str, '',"height=300,width=400");
}
</script>
<form name="form" action="newwindow.php" method="GET">
<input name="text1" value="def & ghi" ID="text1">
<input type="button" value="Send It" onClick="show_form()">
</BODY>
</HTML>
|
Это второй файл (newwindow.php):
<?php
echo($_GET["senddata"]);
?>
|
Попробуйте также вставить в newwindow.php echo(escape($_GET["senddata"])), также можно попробовать заменить GET на POST
Ни один из способов не передаёт содержимого text1. | |
|
|
|
|
|
|
|
для: Хулиган
(23.06.2006 в 13:04)
| | При всем моему уважении,
1.
Ваш код с моим вариантом не имеет ничего общего
2.
Мои вариант отлично передает методом POST любые данные и они корректно обрабатываются на серверной стороне
3.
Функция escape() работает во всрех браузерах, покажите код, который выдает подобную ошибку. | |
|
|
|
|
|
|
|
для: Бог Зайцев
(23.06.2006 в 13:46)
| | Ну, пока что меня особо не за что уважать, знаний ноль :)
Ваш вариант просто выдаёт ошибку Undefined index "senddata" и больше ничего :(
Не знаю, в чём причина, но результат такой.
Об escape: я не совсем понял, при чём тут браузер? Можно подробнее?
Как я понимаю, предполагается что-то типа echo(escape($_GET["senddata"])); - т.к. нужно передать в escape получаемое через GET. Но это же php-код, и в нем нет такой функции escape(). Это js-функция. В php ей не место, соответственно и возникает ошибка... | |
|
|
|
|
|
|
|
для: Бог Зайцев
(22.06.2006 в 15:36)
| | В конечном итоге newwindow.php сделал так (получение через opener):
<?php
echo($_GET["senddata"]);
?>
<script language="JavaScript">
function get_text(){
document.form['recieve1'].value=window.opener.document.getElementById("text1").value;
}
</script>
<form name="form" action="" method="GET">
<input name="recieve1" value="" ID="recieve1">
<input type="button" value="Get It" onClick="get_text()">
|
Из родительского окна можно ничего не передавать. | |
|
|
|