Не передает 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! |
Юсуф, может
$_POST[country] или заключите элементы объекта в кавычки { 'country': 'countryvalue' } |
чет не то, все равно не робит
|
так не кто не может помочь?
|
Юсуф,
:) Отправкой значения формой, Post запросом - та же фигня ? |
Цитата:
{ 'country': 'countryvalue' } это вообще суровая вещь... Вместо значения переменно будет отсылаться строка 'countryvalue', мне кажется это несколько не то... найдите отличие... var countryvalue = $('#countrydropdown :selected').val(); дебагер в таких вещах - волшебная вещь! ff - f12, опера - ctrl+shift+i area.attr("disabled",false); не уберет disabled с элемента! Читаем спецификацию по атрибуту! Для удаления disabled нужно делать именно его удаление через .removeAttr('disabled') что это Цитата:
$_POST['country'] |
Slavenin, работал, уважаемый
и обычно он глобальные массивы пусты, если использовать по другому... |
Цитата:
print_r($_POST); http://www.php.net/manual/ru/reserve...ables.post.php о безопасности засовывания значения переменных от браузера напрямую в запрос, я вообще молчу... Можно ведь сунуть в значение что угодно... Читаем про sql инъекции, ну и элементарная кавычка в значении убъет запрос... |
что это
Цитата: $_POST['$country'] ? о_О $_POST['country'] Простите это отпечатка! Я не совсем понял вашу мысль решения данной проблемы... ((( |
итак:
1. Открываем дебагер (в зависимости от браузера открывается по разному) 2. Переходим на закладку со скриптами (сценариями) 3. Находим проблемный момент в скрипте(можно воспользоваться поиском дебагера) 4. Ставим точку останова в нужной строке(щелкаем мышкой по номеру строки) 5. Вызываем событие(меняем значение в селекте) 6. В наблюдении смотрим за значением переменных 7. И, о чудо, видим, что значения то у нас нет! Так как jq не найдет значения по неправильному селектору! правильный вариант var countryvalue = $('#countrydropdown :selected').val(); 8. Браузер знает, что запрос ушел на сервер, это можно увидеть на закладке сеть(каждый запрос можно развернуть и увидеть, что уходит на сервер) |
теперь увидел разницу. мда.... А Вам спасибо огромное
|
Часовой пояс GMT +3, время: 15:02. |