Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.08.2012, 08:13
Аспирант
Отправить личное сообщение для Юсуф Посмотреть профиль Найти все сообщения от Юсуф
 
Регистрация: 09.03.2012
Сообщений: 84

Не передает POST значении
Есть форма
<form method="POST" enctype="multipart/form-data" action="" id="SignupForm">
Раздел товара:
 <select  id="countrydropdown">
      <option value="0">Выбрать раздел товара</option>
        <?php
              $query = "SELECT * FROM razdel ";
              $sql = mysql_query ($query)  or die (mysql_error());  
     
               while ($result = mysql_fetch_assoc ($sql)) {
        ?>
   
   
   
   <option value="<?=$result['r_id'];?>"><?=$result['r_title'];?></option>
   
 <?php } ?>
  </select>


 Подраздел товара:
<select  disabled="disabled" id="areadropdown" name="pr_cat">
     <option >Выберите подраздел товара из списка</option>
</select>
  

<input type="submit" value="Добавить данные" name="NewTovar" />
 </form>


Так вот когда пользователь выбирает список из Пункта "Раздел товара" то должен сработать скрипт

$(document).ready(function () {
   
   $('#countrydropdown').change(function(){
   var countryvalue = $('#countrydropdown option: selected').val(); 
   getarea(); 
    
   });
             
              
});


function getarea () {
   var countryvalue = $('#countrydropdown option: selected').val();   
   var area = $('#areadropdown'); 
      
        if (countryvalue == 0) {
           area.attr("disabled",true);
           
           
        }
        else{
   
          area.attr("disabled",false);  
          area.load ('getarea.php',{country : countryvalue});
          
        }
    
}


Этот скрит должен передать значение countryvalue в файл getarea.php

Вот сам код из файла getarea.php

<?php

$country = $_POST['$country'];




     $query = "SELECT * FROM podrazdel where pr_cat =".$country;
     $sql = mysql_query ($query)  or die (mysql_error());  
     ?>
      <select name="pr_title" id="podrazdel"><option >Выбрать подраздел товара</option>
     <?php
     
     while ($result = mysql_fetch_assoc ($sql)) {
        
   ?>
  
   
   
   <option value="<?=$result['pr_id'];?>"><?=$result['pr_title'];?></option>
   
 <?php } ?>
  </select>


И вот тут проблема, он не получает значени переданное из js скрипта
то есть $_POST['$country'] ни чему не равна!
если сделать так
$country = 8; или $country = 12; То все работает, выводит из БД все что равно цифре указанное в переменной $country!
Ответить с цитированием
  #2 (permalink)  
Старый 29.08.2012, 08:52
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Юсуф, может
$_POST[country]

или заключите элементы объекта в кавычки
{ 'country': 'countryvalue' }
Ответить с цитированием
  #3 (permalink)  
Старый 29.08.2012, 19:40
Аспирант
Отправить личное сообщение для Юсуф Посмотреть профиль Найти все сообщения от Юсуф
 
Регистрация: 09.03.2012
Сообщений: 84

чет не то, все равно не робит
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2012, 08:22
Аспирант
Отправить личное сообщение для Юсуф Посмотреть профиль Найти все сообщения от Юсуф
 
Регистрация: 09.03.2012
Сообщений: 84

так не кто не может помочь?
Ответить с цитированием
  #5 (permalink)  
Старый 30.08.2012, 09:18
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Юсуф,
Отправкой значения формой, Post запросом - та же фигня ?
Ответить с цитированием
  #6 (permalink)  
Старый 30.08.2012, 10:37
Кандидат Javascript-наук
Отправить личное сообщение для Slavenin Посмотреть профиль Найти все сообщения от Slavenin
 
Регистрация: 20.11.2010
Сообщений: 143

Сообщение от lord2kim Посмотреть сообщение
Юсуф, может
$_POST[country]

или заключите элементы объекта в кавычки
{ 'country': 'countryvalue' }
уважаемый, вы с php работали? o_О

{ 'country': 'countryvalue' }

это вообще суровая вещь... Вместо значения переменно будет отсылаться строка 'countryvalue', мне кажется это несколько не то...

найдите отличие...

var countryvalue = $('#countrydropdown :selected').val();


дебагер в таких вещах - волшебная вещь! ff - f12, опера - ctrl+shift+i

area.attr("disabled",false);

не уберет disabled с элемента! Читаем спецификацию по атрибуту! Для удаления disabled нужно делать именно его удаление через
.removeAttr('disabled')


что это
Цитата:
$_POST['$country']
? о_О
$_POST['country']
__________________


Последний раз редактировалось Slavenin, 30.08.2012 в 10:43.
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2012, 10:41
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Slavenin, работал, уважаемый
и обычно он глобальные массивы пусты, если использовать по другому...
Ответить с цитированием
  #8 (permalink)  
Старый 30.08.2012, 10:48
Кандидат Javascript-наук
Отправить личное сообщение для Slavenin Посмотреть профиль Найти все сообщения от Slavenin
 
Регистрация: 20.11.2010
Сообщений: 143

Сообщение от lord2kim Посмотреть сообщение
Slavenin
и обычно он глобальные массивы пусты, если использовать по другому...
смысл фразы ускользает... Любое переданное значение является ключом глобального массива, но никак не константой...
print_r($_POST);


http://www.php.net/manual/ru/reserve...ables.post.php

о безопасности засовывания значения переменных от браузера напрямую в запрос, я вообще молчу...

Можно ведь сунуть в значение что угодно... Читаем про sql инъекции, ну и элементарная кавычка в значении убъет запрос...
__________________


Последний раз редактировалось Slavenin, 30.08.2012 в 11:24.
Ответить с цитированием
  #9 (permalink)  
Старый 30.08.2012, 11:28
Аспирант
Отправить личное сообщение для Юсуф Посмотреть профиль Найти все сообщения от Юсуф
 
Регистрация: 09.03.2012
Сообщений: 84

что это
Цитата:
$_POST['$country']
? о_О
$_POST['country']

Простите это отпечатка! Я не совсем понял вашу мысль решения данной проблемы... (((
Ответить с цитированием
  #10 (permalink)  
Старый 30.08.2012, 11:50
Кандидат Javascript-наук
Отправить личное сообщение для Slavenin Посмотреть профиль Найти все сообщения от Slavenin
 
Регистрация: 20.11.2010
Сообщений: 143

итак:
1. Открываем дебагер (в зависимости от браузера открывается по разному)
2. Переходим на закладку со скриптами (сценариями)
3. Находим проблемный момент в скрипте(можно воспользоваться поиском дебагера)
4. Ставим точку останова в нужной строке(щелкаем мышкой по номеру строки)
5. Вызываем событие(меняем значение в селекте)
6. В наблюдении смотрим за значением переменных
7. И, о чудо, видим, что значения то у нас нет! Так как jq не найдет значения по неправильному селектору!
правильный вариант
var countryvalue = $('#countrydropdown :selected').val();

8. Браузер знает, что запрос ушел на сервер, это можно увидеть на закладке сеть(каждый запрос можно развернуть и увидеть, что уходит на сервер)
__________________

Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery ajax в Operа к ASP.NET скрипту по таймеру, IIS выдает 403.9 Zhirinovsky AJAX и COMET 0 23.02.2012 12:56
проблемка с объектом, POST запрос Ajax zercs jQuery 1 24.04.2011 19:06
jquery и POST korner jQuery 6 27.06.2010 03:52
jQuery Ajax Rater Plugin и массив POST - Нужна помощь TROODON jQuery 12 30.12.2009 22:44
При отправке POST-запроса в заголовке к серверу вместо POST указывается OPTIONS VasiliyLuka AJAX и COMET 1 14.12.2009 14:57