Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача параметров сценарию из onChange без перех 
:(
    Опции темы
borovyshka
  Дата 3.11.2011, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Добрый день! Очень нужна ваша помощь. Я плохо знакома с JavaScript, а нужно срочно произвести изменения в скрипте.
Дело в том что при нажатии на кнопку onChange происходит переход на обновленную страницу, а необходимо чтобы страница обновлялась без перехода
Это скрипт в работе
http://93.125.57.11/TV/index.php
Код на php:
Код


    <tr valign=top>
            <td bgcolor=$light_color width=100%>
          
        ";
        echo "<form name=\"dni\" action=\"\" method=\"post\">
     
    <!--В данной строке переход, которого нужно избежать-->
        Выбери дату:&nbsp;<select size=1 name=den_nedeli onChange=\"javascript:parent.document.location='index.php?action=tv&den_ned='+this.options[this.selectedIndex].value;\">";
          
        if ($dir = @opendir("data")) {
          while (($file = readdir($dir)) !== false) {
            if ($file!="." and $file!=".."){$papok++;$papka_[]=$file;
                echo "<option value=all-$papok>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-</option>";
                list($den,$month,$year)=explode("-",$file);
                for ($y=1;$y<8;$y++){
          
                $curent = date ("d.m", mktime (0,0,0,$month,$den,$year));
                if ($curent == "$d_now.$m_now") echo "<option value=$y-$papok-$week[$y]%20$curent s_elected>-=Сегодня=-  $curent</option>";
                else echo "<option value=$y-$papok-$week[$y]%20$curent>$week[$y] - $curent</option>";
                $den++;}
                }
            }
          closedir($dir);
        }
        echo "</select><br><br>";

Так же прикреплен весь скрипт страницы

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  index.php 11,39 Kb
PM MAIL   Вверх
SelenIT
Дата 5.11.2011, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 7
Всего: 401



Просто убрать весь onchange проблему не решает?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
borovyshka
Дата 8.11.2011, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.11.2011

Репутация: нет
Всего: нет



Нет не решает, тогда параметр выбранной даты не передается дальше, что не позволяет просмотреть программу по другим дням

Это сообщение отредактировал(а) borovyshka - 8.11.2011, 14:37
PM MAIL   Вверх
skyboy
Дата 12.11.2011, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



в текущем случае переход по событию onchange только инициируется javascript'ом. на самом деле, отличия от прямой ссылки минимальны.
в случае "обновления страницы без перезагрузки" не достаточно изменить только одну строчку с location.
0. джаваскрипт должен формировать запрос при помощи XMLHttpRequest или любой обертки над ним. никакого location.href = ...
1. сервер должен уметь обрабатывать запрос от джаваскрипта(клиентской составляющей) и по параметрам формировать/возвращать только кусок страницы(то, что обновляется), в то время, как сейчас возвращается страница целиком
2. джаваскрипт часть должна суметь дождаться ответа от сервера, проверить его на корректность(к примеру, чтоб вместо текста не возвращался код ошибки) и вставить содержимое ответа в нужное место.
суммарно подобный процесс называется AJAX. и, как видно, реализация его не только клиентскую сторону затрагивает(и это не одна строка, нет), но и серверную.
в лучшем самом быстром по времени внедрения случае, можно запрашивать джаваскриптом страницу целиком, выдирать из неё именно нужный кусок и вставлять в нужное место. это позволит обойтись без изменений на серверной стороне, но будет наверняка медленнее и потенциально нестабильнее. совсем на крайний случай, можно запрашивать новую страницу и выдирать у неё <body>, вставляя вместо текущего. но это вообще мегажесть, от которой я бы лично плакал кровавыми слезами :( 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0499 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.