Не передает 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, время: 04:06. |