Пыха всегда с тобой

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 25 Май, 2012, 02:33:05

Страниц: [1]
Печать
Автор Тема: Проблема при асинхронной загрузке  (Прочитано 254 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Juriy    ↓ 
03 Август, 2011, 05:39:41
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 12
Сила слова: 0

Здравия!
 
имеется index.php страница такого вида
PHP

<form id="form1" name="form1" method="get" action="show.php">
<select name="cg" onchange="SearchC();" id="catG"  >
             <option value="1" >ВСЕ КАТЕГОРИИ</option>       
            <option value="2"<? if($pcat=="2")echo "selected='selected'"; ?>>Предмет</option>    
            <option value="3" <? if($pcat=="3")echo "selected='selected'"; ?>>Факультет</option>
            <option value="4" <? if($pcat=="3")echo "selected='selected'"; ?>>Лектор</option>                    
</select>   
</form>         
 

аякс
PHP

 
function SearchC() {
    var category = $("#catG").val();   
    var query = "searchbox.php?ct="+category;      
    $.ajax({
        url: query,
        success: function(data, textStatus, XMLHttpRequest) {         
            $("#searchcontents").html(data);
            SearchCCallBack(false);   
        }
    });
}
 

 

searchbox.php
 
PHP

<?
if (($_GET['ct'] == '1'))
{
?>       
 
   
    <select name="subj" id="subj" class="textbox">
    <option value="1"> Ядерная Физика </option>
        <option value="2"<? if КАК ЗДЕСЬ НАПИСАТЬ ЗАПРОС echo "selected='selected'";?>>ВышМат</option>
    </select>   
<?php
} ?>       
 

 
что-то заблудился, как сделать чтоб при переходе на следующую страницу (show.php), все что выбирал ("cg" и "subj") сохранилось и подгрузилось.
C "cg" проблем вроде нет, прописываю в начале show.php страниы if (isset($_GET['cg'])){$pcat=$_GET['cg'];}, а как быть с "subj"???
 
Нужно очень срочно, подсобите. :help:
Благодарю
Записан

босяк..
Stasovsky    ↓ 
03 Август, 2011, 05:48:55 , спустя 9 минут 14 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 54
Сообщений: 3653
Сила слова: 1.48

...
 
var query = "searchbox.php?ct="+category;      
    $.ajax({
        url: query,
 
...
отдельно урл, отдельно данные
Записан
Juriy    ↓ 
03 Август, 2011, 07:23:04 , спустя 1 час 34 минуты 9 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 12
Сила слова: 0


...
 
var query = "searchbox.php?ct="+category;      
    $.ajax({
        url: query,
 
...
отдельно урл, отдельно данные

так же работает! можно чуть поменять  url : 'searchbox.php?ct=' + $(this).val().
Записан

босяк..
Frozzeg    ↓ 
03 Август, 2011, 08:30:13 , спустя 1 час 7 минут 9 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Пятросянище

Карма: 92
Сообщений: 5500
Сила слова: 1.67

Джурий )
Записан
Juriy    ↓ 
04 Август, 2011, 08:15:48 , спустя 11 часов 45 минут 35 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 12
Сила слова: 0


Джурий )

да, lolz )
 
Frozzeg, есть что подсказать по вопросу?
 
Записан

босяк..
mexys    ↓ 
04 Август, 2011, 09:24:49 , спустя 1 час 9 минут 1 секунду
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 19
Сила слова: 0

А какая принципиальная разница между cg и cubj? У тебя он также через GET передастся. Ток searchbox.php это пиздец. Ты уж либо как было сказано выше юзай json, либо перепиши его так, чтоб можно было и для ajax запроса юзать и для инклуда в show.php
 
ЗЫ есть еще MVC, Фреймоврки. На досуге советую познакомиться
Записан
Juriy    ↓ 
04 Август, 2011, 10:54:14 , спустя 1 час 29 минут 25 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 12
Сила слова: 0


А какая принципиальная разница между cg и cubj? У тебя он также через GET передастся. Ток searchbox.php это пиздец. Ты уж либо как было сказано выше юзай json, либо перепиши его так, чтоб можно было и для ajax запроса юзать и для инклуда в show.php
 
ЗЫ есть еще MVC, Фреймоврки. На досуге советую познакомиться

да передается, но не получается выставить для него значение выбранное в index. нужно чтоб в show.php получилось например <option value="1" selected="selected"> Ядерная Физика </option>
а cg проблем нет, аякс запрос обрабатывает, потом в show.php пишу  if (isset($_GET['cg'])){$pcat=$_GET['cg'];} и выбранная категория отображается. сделать так же с subj не получается, значение как бы есть и оно передается, но нужного selected="selected" нет.
Записан

босяк..
Stasovsky    ↓ 
04 Август, 2011, 11:19:13 , спустя 24 минуты 59 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 54
Сообщений: 3653
Сила слова: 1.48

я так и не догнал, что он хочет сделать... поясните на другом языке...
Записан
Juriy    ↓ 
04 Август, 2011, 12:13:40 , спустя 54 минуты 27 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 12
Сила слова: 0


я так и не догнал, что он хочет сделать... поясните на другом языке...

есть страница index.php -> в ней есть form1 с набором option -> в зависимости от option асинхронно подгружается еще список из searchbox.php  -> в pагруженном списке так же можно выбрать какую либо категорию ->жмеш кнопку submit -> переход на страницу show.php -> на странице show.php  отображается уже все иерархия выбора автоматически, тобишь и cg и subj которые выбирались в index.php будут автоматически selected="selected"  
 

Записан

босяк..
AlexanderC    ↓ 
04 Август, 2011, 12:28:51 , спустя 15 минут 11 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 1
Сообщений: 140
Сила слова: 0.71

Json и клиент сайд построение селекта...
Параметр можно передавать через куки... красивее будет УРЛ
Записан

*Не всё  Windows™ что виснет, не всё  Linux что "да ну его..."
Juriy    ↓ 
04 Август, 2011, 12:37:46 , спустя 8 минут 55 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 12
Сила слова: 0


Json и клиент сайд построение селекта...
Параметр можно передавать через куки... красивее будет УРЛ
благодарю.
можете примером под мою задачу поделится?
Записан

босяк..
AlexanderC    ↓ 
04 Август, 2011, 12:54:04 , спустя 16 минут 18 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 1
Сообщений: 140
Сила слова: 0.71

Json и клиент сайд построение селекта...
Параметр можно передавать через куки... красивее будет УРЛ
 
Ну что-то тип этого должно получится
 
PHP

$(#catG").change(function(){$(this).parent().submit()});
$("#subj").change(function(){
    setCookie("subjCatG",
                  encodeURIComponent( $(this).val() ),
                  "Mon, 01-Jan-2012 00:00:00 GMT", "/");
});
 
$("form[name='form2']").submit(function(e){
   e.preventDefault();
   $.ajax({
       url: "searchbox.php",
       type: "POST",
       data: $(this).serialize();
       dataType: "JSON",
       error: function(){ alert("Ошибка на сервере") }
       success: function(json){
           $("form[name='form2'] > select").append("<select name=\"subj\" id=\"subj\" class=\"textbox\"></select>");
           // json массив, работа с switch case
          // потом $("#subj").html(...);
       }
   });
});
 
function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}
 
// а в пыхе
if ( isset($_POST['cg']) )
{
   switch( $_POST['cg'] )
  {
     case '1':
        exit ( json_encode( array('param1', 'param2', 'param3') ) );
     break;
     default: exit;
  }
}
exit;
 
Спустя 2 минуты 22 секунды добавил
после проставление куки там ещё window.location вставить нужно для редиректа на show.php
Спустя 3 минуты 38 секунд добавил
кстати не нужно забывать что json работает ток с UTF-8
Записан

*Не всё  Windows™ что виснет, не всё  Linux что "да ну его..."
Juriy    ↓ 
04 Август, 2011, 12:57:25 , спустя 3 минуты 21 секунду
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 12
Сила слова: 0

AlexanderC, класс.
Сразу пока еще все не понял, нуб в этом деле, но сейчас буду работать. :)  
Спустя 1 минуту 25 секунд добавил
у меня все под utf-8 without bom
Записан

босяк..
AlexanderC    ↓ 
04 Август, 2011, 01:02:54 , спустя 5 минут 29 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 1
Сообщений: 140
Сила слова: 0.71

норм тогда... а бом для бом'zhej
Записан

*Не всё  Windows™ что виснет, не всё  Linux что "да ну его..."
Juriy    ↓ 
18 Август, 2011, 04:48:39 , спустя 14 дней 3 часа 45 минут 45 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 12
Сила слова: 0

благодарю всех. задачу решил )
Записан

босяк..
Страниц: [1]
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd