[jQuery ajax] не срабатывает на второй раз [отправка формы]

Discussion in 'PHP' started by Raz0rnsk, 5 May 2011.

  1. Raz0rnsk

    Raz0rnsk New Member

    Joined:
    14 Jul 2009
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    подскажите, что не так.
    у меня есть форма
    HTML:
    <FORM id="myForm" ACTION="index_ajax.php?search=1" METHOD=POST>
    обработчик на PHP:
    Code:
    <?
    
    	
            if(isset($_REQUEST["search"]))
    	{
    		$q_str = "SELECT * FROM hotels WHERE ";
    		if($_REQUEST[f_name] != "")
    			$q_str = $q_str."name LIKE '%".$_REQUEST["f_name"]."%' AND ";
    		else
    			$q_str = $q_str." 1 AND ";
    		
    		if($_REQUEST[a_price] != "")
    			$q_str = $q_str."price >= ".$_REQUEST["a_price"]." AND ";
    		else
    			$q_str = $q_str." 1 AND ";
    		
    		if($_REQUEST[b_price] != "")
    			$q_str = $q_str."price <= ".$_REQUEST["b_price"]." AND ";
    		else
    			$q_str = $q_str." 1 AND ";
    
    			$q_str = $q_str." 1";
    		$result = mysql_query($q_str);
    	}
    ?>
    
    ну и собственно ajax(используется jQuery form plugin):
    HTML:
    $(document).ready(function() {
    		$('#myForm').live('submit', function(e) {
    			
    			$(this).ajaxSubmit({
    			type: 'POST',
    			target: 'body',
    			cache: false,
    			url: 'index_ajax.php',
    			data: {search:'1'},					
    			});
                                              rerurn false;
    		});
    	});
    
    перелопатил весь гугл уже, не знаю в чем может быть причина, что кнопка не активна после 1 самбита, т.е поиск выполняется 1 раз правильно, но затем не отправляется форма и даже кнопка reset не сбрасывает поля, как будто форма блокируется.

    возможно особенность(косяк?) метода ajaxSumbit, но пробовал на ajax обычном, там не знаю как верно вывести результат(отсутствует удобная опция target)
    HTML:
    $('#myForm').live('submit', function() {
                            
                            $.ajax({             
                            url: 'index_ajax.php',
                            data: { search: '1'},
                            success: function(data){$("body").html(data);}                                          
                            });
                            return false;
                    });
            });
    Спасибо
     
  2. Buffalon

    Buffalon Elder - Старейшина

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Я только лишь предположу,
    может дело вот в этом
    if(isset($_REQUEST["search"]))
    У тебя один раз иницилизирует search, затем каким то образом ты меняешь эти параметры и ничего нет... То есть это действие не работает
     
  3. Raz0rnsk

    Raz0rnsk New Member

    Joined:
    14 Jul 2009
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    спасибо за ответ, но нет. ;)
    сам уже нашел косяк, была неправильная html-разметка: после 1 запроса неверно переписывалось все содержимое body, и по id уже таблицу взять было невозможно, поэтому ajax-запросы шли "пустыми", т.е без данных формы.

    исправил разметку и все заработало :)