Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: GET из PHP в JS
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (2): [1] 2 » 

> Описание: Как открыть окно через JS, передав переменную из PHP?
UFO
Отправлено: 20 Августа, 2009 - 10:27:17
Post Id



Full Member


Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005  

Карма 0




Появилась задачка. Нужно из формы, формируемой на одной странице, передать в строке браузера PHP-скрипту переменную, с которой работает скрипт. Причем, этот скрипт открываться должен в небольшом окошке, что реализовано при помощи JS и работает, но вот из-за того, что используется JS, я не знаю как передать ему значение переменной из формы Растерялся
Сейчас использую такой код:
CODE:
<?
$domain=$_POST['domain'];
?>

<form action="bla.php" method="post">

<input type=text value="" name="domain">

<SCRIPT LANGUAGE="JavaScript">
<!--
function winop()
{
windop = window.open("whois.php?domain=<? echo $domain; ?>","mywin","height=320,width=215");
}
//--><!]]>
</SCRIPT>

<a NAME="1"></a>

<INPUT CLASS="for" TYPE=button VALUE="Проверить" onClick="winop();" style="width:110px; height:20px; background-color:##E5EAA7; border: #663300 1px solid; font:bold; color:#992212">
</form>

но не работает.
Итак, вопрос: как передать другому скрипту переменную при том, что скрипт открывается через JS?
 
 Top
Davinchi
Отправлено: 21 Августа, 2009 - 05:25:52
Post Id


Full Member


Покинул форум
Сообщений всего: 152
Дата рег-ции: Нояб. 2006  

Карма -2




CODE:
windop = window.open("whois.php?domain=<? echo $domain; ?>","mywin","height=320,width=215");

предположение, потому что переменная domain появляется в скрипте
CODE:
<form action="bla.php" method="post">

мне кажется ее надо брать не как php, а как JS переменную из формы
 
 Top
Furax
Отправлено: 21 Августа, 2009 - 09:51:24
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Именно:
CODE:
"whois.php?domain="+escape(window.forms[0].domain.value)
 
 Top
UFO
Отправлено: 22 Августа, 2009 - 14:43:52
Post Id



Full Member


Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005  

Карма 0




Что-то теперь окно не открывается. Код такой:

CODE:
<?
$domain=$_POST['domain'];
?>

<form action="bla.php" method="post">

<input type=text value="" name="domain">



<SCRIPT LANGUAGE="JavaScript">
<!--
function winop()
{
windop = window.open("whois.php?domain="+escape(window.forms[0].domain.value),"mywin","height=320,width=215");
}
//--><!]]>
</SCRIPT>

<a NAME="1"></a>

<INPUT CLASS="for" TYPE=button VALUE="Ok" onClick="winop();" style="width:110px; height:20px; background-color:##E5EAA7; border: #663300 1px solid; font:bold; color:#992212">
</form>
 
 Top
Furax
Отправлено: 22 Августа, 2009 - 23:24:28
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Какие ошибки? Возможно, та форма не первая в документе? Тогда присвой ей name="myform" и пиши window.myform.domain.value.
 
 Top
UFO
Отправлено: 23 Августа, 2009 - 07:32:22
Post Id



Full Member


Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005  

Карма 0




Furax пишет:
Какие ошибки? Возможно, та форма не первая в документе? Тогда присвой ей name="myform" и пиши window.myform.domain.value.

Когда тестировал - форма была одна, но в итоге вот это исправление помогло, спасибо, тем более что на готовой странице форма будет не одна. Но вот почему-то не открывается окошко по нажатию кнопки 'enter', когда курсор в поле
CODE:
<input type=text value="" name="domain">

формы Улыбка Это можно как-то исправить? (Но я стер параметр action, может быть из-за него это всё?)
И еще, я сделал:
CODE:
<input type=text value="domain.zone" name="domain">

Как можно сделать так, чтобы когда курсор ставится в форму надпись автоматически сразу стиралась?

(Отредактировано автором: 23 Августа, 2009 - 07:33:47)

 
 Top
UFO
Отправлено: 23 Августа, 2009 - 13:10:24
Post Id



Full Member


Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005  

Карма 0




Второй вопрос решил сам, надо просто добавить в код:
CODE:
onclick="if (this.value == 'domain.zone') this.value = '';"

т.е.
CODE:
<input type=text onclick="if (this.value == 'domain.zone') this.value = '';" value="domain.zone" name="domain">


А вот насчет первого не знаю Однако

(Отредактировано автором: 23 Августа, 2009 - 13:10:57)

 
 Top
UFO
Отправлено: 23 Августа, 2009 - 18:00:16
Post Id



Full Member


Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005  

Карма 0




Еще возникла проблема - сказали, что в Mozilla не работает function winop(), а у меня в Opera всё работает. Как быть? Не может эта функция там не работать, она же работает, только что-то в моём скрипте такое особенное препятствует Огорчение

(Отредактировано автором: 23 Августа, 2009 - 18:12:57)

 
 Top
Furax
Отправлено: 24 Августа, 2009 - 00:38:59
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Чтобы происходила обработка Enterа, нужно кнопочку сделать не buttonом, а submitом, и вместо её onclick обрабатывать onsubmit формы; только не забудь в конце возвращать false, чтобы отправка формы не происходила.

А Mozilla какие ошибки выдаёт?
 
 Top
UFO
Отправлено: 24 Августа, 2009 - 05:35:58
Post Id



Full Member


Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005  

Карма 0




Furax пишет:
Чтобы происходила обработка Enterа, нужно кнопочку сделать не buttonом, а submitом,

Сделал, но если нажимать enter, то происходит обновление той страницы, на которой находишься. Я думаю это из-за отсутствия action формы, но его добавить не могу, т.к. страниц много (это форум), а писать что-то на PHP там нельзя - это шаблон.
Furax пишет:
и вместо её onclick обрабатывать onsubmit формы;

Вот это не особо понял, если меняю на onsubmit, то по клику на кнопку уже не работает.
Furax пишет:
только не забудь в конце возвращать false, чтобы отправка формы не происходила.

А вот тут вообще не знаю, как в JS это пишется. Так:
CODE:
onSubmit="winop(); else false;"

?
В итоге сейчас использую такой код:
CODE:
<SCRIPT LANGUAGE="JavaScript">
<!--
function winop()
{
windop = window.open("whois.php?domain="+escape(window.myform.domain.value),"mywin","height=320,width=400,left=400,top=100");
}
//--><!]]>
</SCRIPT>
<form method="post" name="myform">
<input value="domain.zone" onClick="if (this.value == 'domain.zone') this.value = '';" type=text name="domain">
<a NAME="1">
<INPUT CLASS="for" TYPE=submit VALUE="Whois" onClick="winop();" style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 8px;color: #FFFFFF;background-color: #A8B0BA;border: 1px solid #FFFFFF;"></a>
</form>

Furax пишет:
А Mozilla какие ошибки выдаёт?

Да никаких... это же не компилятор Улыбка просто по клику на кнопку не открывается новое окошко размером 320 на 400. Сейчас попросил открыть окошко enter'ом, говорят тоже не работает, т.е. сама функция JS почему-то не выполняется. Java включена. Может есть какой-то алтернативный вариант открывания окошек? Подойдет даже что-то другое, но похожее, но кроссбраузерное. Или может тут дело в названии формы, может привинтить там еще чего-нибудь?

Итак, два вопроса:
1. как избавится от обновления страницы после нажатия кнопки enter?
2. как заставить это всё работать в Mozilla?

upd

Сейчас проверил в IE - там по клику на кнопку работает, а по enter'у - нет, просто обновляется страница, а окошко не открывается.

(Отредактировано автором: 17 Октября, 2009 - 10:26:15)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« JavaScript »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.047]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33