Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как из Java скрпта передать значение в PHP функцию?
 
 автор: XPraptor   (30.12.2004 в 13:36)   письмо автору
 
 

Господа, всем здрастье.
Такая проблеммка: Есть Java скрипт типа при изменении в поле SELECT нужно прочитать его значение и согласно этому вывести в другой SELECT список.
Как это реализовать? На данный момент заполнение написано на PHP но функция должна получить параметром нужное значение, а значение считывается в Java скрипте. Помогите плз....

   
 
 автор: elenaki   (30.12.2004 в 14:01)   письмо автору
 
   для: XPraptor   (30.12.2004 в 13:36)
 

<table><tr>
<?    echo "<td align=left><b>SELECT 1<br>
<select onchange=\"top.location.href = this.options[this.selectedIndex].value;\">
<option  VALUE=\"your_file.php?\">ALL</option>"
;
         
$query3 "SELECT .... your query for fisrt select";
          
$result3 mysql_query($query3); 
         
$number3 mysql_num_rows($result3);
         
$j 0;
         WHILE (
$j $number3)
         { 
         
$name3 mysql_result($result3,$j,"param");
         echo 
"<option VALUE=\"$thisfile?param=$name3\"";
         if (
$name3 == $param) echo "Selected ";
         echo 
" >$name3</option>";
         
$j++;
         }
echo 
"     </select></b></td><td align=left>&nbsp;";
if (isSet(
$param)) 
echo 
"<b>SELECT 2<br>
<select onchange=\"top.location.href = this.options[this.selectedIndex].value;\">
<option VALUE=\"
$thisfile?param=$param\">ALL</option>";
         
$query2 "SELECT .... your query for second select ... WHERE param='$param' ";
          
$result2 mysql_query($query2); 
         
$number2 mysql_num_rows($result2);
         
$j 0;
         WHILE (
$j $number2)
         { 
         
$name2 mysql_result($result2,$j,"param2");
         echo 
"<option  VALUE=\"$thisfile?param=$param&param2=$param2\"";
         if (
$name2 == $param2) echo "Selected ";
         echo 
" >$name2</option>";
         
$j++;
         }
         echo 
"</select>";
?>
</td></tr></table>

   
 
 автор: XPraptor   (30.12.2004 в 14:05)   письмо автору
 
   для: elenaki   (30.12.2004 в 14:01)
 

elenaki, не, перегрузить страницу с параметром это не то. Я с таким же успехом могу запостить нужный параметр в java скрипте. Тут весь смысл именно не перегружать страницу, потому как юзер уже ввел кучу значений и при перезагрузке их придется опять считывать и присваивать снова полям. такой вариант я оставил как крайний, если другого решения не найду.

[поправлено модератором]

   
 
 автор: elenaki   (30.12.2004 в 14:13)   письмо автору
 
   для: XPraptor   (30.12.2004 в 14:05)
 

а как РHР узнает о том, какой параметр выбран в списке? это только java-script знает

   
 
 автор: XPraptor   (30.12.2004 в 14:43)   письмо автору
 
   для: elenaki   (30.12.2004 в 14:13)
 

Так и вопрос о том как из скрипта передать в PHP

   
 
 автор: elenaki   (30.12.2004 в 15:08)   письмо автору
 
   для: XPraptor   (30.12.2004 в 14:43)
 

только перезагрузкой. можно предлагать выбор из списков ДО заполнения каких-либо других
полей, можно запоминать данные, внесенные в поля ДО выбора из списков. но без перезгрузки
я не вижу способа передачи параметров. найдете - дам медаль :)

   
 
 автор: XPraptor   (30.12.2004 в 15:37)   письмо автору
 
   для: elenaki   (30.12.2004 в 15:08)
 

Скорее всего в PHP действительно никак. Я легко на JavaScript, VBScript сделаю без всяких перезагрузок, а вот в PHP функцию пожалуй не передать никак.
Ладно, сенкс за внимание к проблемме, придется постить уже введенные данные при выборе в списке другого параметра.

   
 
 автор: glsv (Дизайнер)   (30.12.2004 в 23:34)   письмо автору
 
   для: XPraptor   (30.12.2004 в 14:43)
 

Без обращения к серверу, а следовательно без перезагрузки страницы – никак. Потому что PHP работает только на сервере и чтобы ему что-то "сказать" – нужно послать запрос на сервер.
Но иногда можно придумать обходные маневры. Например сделать фреймовую структуру сайта. Один фрейм (назовем его "передатчиком") будет постоянно общаться с сервером. Отображать он ничего не будет и поэтому обмен данными будет происходить относительно быстро.
А общение между фреймами ("передатчиком" и основными) будет осуществляться через JavaScript. Т.е. основная часть страницы перегружаться не будет.

   
 
 автор: XPraptor   (05.01.2005 в 10:39)   письмо автору
 
   для: glsv (Дизайнер)   (30.12.2004 в 23:34)
 

Дизайнер спасибо. Я уже как раз сам дотумкал до такого варианта, но ты более подробно рассказал что фрейм не должен ничего отображать, а просто гонять данные к серверу за ответом.
Сенкс, тему можно закрывать.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования