Имя: Пароль:
IT
Веб-мастеринг
JS. при выборе элемента из выпадающего списка должна выполняться РНР-шная функция
0 temfly
 
25.03.14
12:50
Я в JS чайник! Нужно что-бы при выборе элемента из выпадающего списка выполнялась РНР-шная функция. Я так понимаю через onchange. Помогите если сможете! Извините если вопрос не по адрессу. Заранее спасибо!
1 CPU0
 
25.03.14
12:54
(0) На клиенте выполнить PHP не получится, только на сервере.

Тебе нужно, что-бы при выборе элемента из списка JS выполнял запрос к определенному скрипту, правильно?
2 temfly
 
25.03.14
12:56
Именно! У меня выделенный сервер.
3 Tarzan_Pasha
 
25.03.14
13:00
Ajax должно помочь.
4 CPU0
 
25.03.14
13:02
Используй JQuery:

$('#some_id').on('change', function() {
  var selectedVal = $(this).val();
  
  $.ajax({
        url : "/script.php",
        type: "POST",
        data :
            {
                selcted: selectedVal
            },
        success: function(data, textStatus, jqXHR)
        {
            alert('Успешно');
        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            alert('Error: ' + textStatus);
        }
    });
});
5 temfly
 
25.03.14
13:07
Спасибо. Но задача на много проще.)) Я не правильно сформулировал. Есть выпадающий список со значениями 1 2 3 4 и т.д. При выборе скажем 2 это значение должно записаться в переменную типа - $num. Чтоб потом ею оперировать в РНР скрипте. А за код спасибо по-любому пригодится.
6 CPU0
 
25.03.14
13:08
(5) а как ты этот $num на сервер отправляешь?
7 temfly
 
25.03.14
13:10
MySql - запрос
8 temfly
 
25.03.14
13:11
мне его нужно загнать в базу
9 temfly
 
25.03.14
13:12
$num это, скажем, id в базе данных
10 Asmody
 
25.03.14
13:12
"Вы, батенька, не знаете основ" © старый мультик
11 temfly
 
25.03.14
13:13
так у меня скрипт на сервере выполняется
12 CPU0
 
25.03.14
13:26
(7) Что-бы его тебе загнать в базу, тебе его надо для начала передать PHP-скрипту.
Что-бы его тебе предать скрипту, надо определится как ты его будешь отправлять и принимать.

Есть несколько методов передать данные на сервер:
1) POST/GET формы;
2) Cookies;
3) AJAX-запросы;

В зависимости от выбранного метода и обработка на сервере разная.

В (4) используется 3 метод.
13 CPU0
 
25.03.14
13:27
+(12) ну еще почтой России можно передать, но это долго.
14 temfly
 
25.03.14
13:34
передавать буду естевственно постом
if (isset($_POST['select'])) $num = $_POST['select'];
select - имя

до другого не додумался. Правда, еще не проверил
буду учить JS и AJAX
15 fvadim
 
25.03.14
13:36
(14) опиши подробнее.
а то получается, что каждый раз когда пользователь дёргает комбобокс тебе нужно что-то писать в базу.
16 temfly
 
25.03.14
13:44
База это в будущем. Суть такова.
Есть навигационное меню. Которое по умолчанию выдает на страницу 3 записи из базы. И есть выпадающий список с номерами от 1 до 30 - количество записей на странице. А пользователь хочет не 3, а, скажем, 10. Выбирает в списке 10. Мне надо получить эту 10-ку и подставить в функцию, которая по ней выбирает количество записей из базы.
17 CPU0
 
25.03.14
13:47
(14) см. (4)
18 Asmody
 
25.03.14
13:50
(16)
<form method="post">
<select id="select" name="select">
<option value="1" selected>1</option>
<option value="2" >2</option>
<option value="3" >3</option>
<option value="4" >4</option>
...
<option value="10" >10</option>
</select>
<input type="submit">
</form>

это в html
19 temfly
 
25.03.14
13:56
))Это я понимаю. Дело том, что option автоматически пополняется из базы при добавлении новой записи. 1 2 3 и т.д. это id. Вот хочется как-то попроще получить выдранный id.
20 temfly
 
25.03.14
13:57
*выбранный
21 Asmody
 
25.03.14
13:59
(20) ну так оно тебе вернется в $_POST['select']
22 fvadim
 
25.03.14
14:01
(19) id записи что-ли?
23 temfly
 
25.03.14
14:03
Спасибо!!! Сработало! Я сам тупанул. Обленился)))) Фреймворком создал select, а пр форму забыл) Спасибо еще раз.