Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передача неизвестного количества параметров в ajax / 14 сообщений из 14, страница 1 из 1
27.03.2013, 12:08
    #38200218
Nevskiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
Приветствую. Подскажите пожалуйста, есть примерно такой код. Количество строк в таблице неизвестно, т.к достаются из бд. Как мне передать в скрипт эти поля, если их количество неизвестно? Спасибо.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
<script>

function test() {
	var result;
	var test=1;

    $.ajax({
        type: "POST",
        url: "function.php",
        data: {
            "test" : test
         },
        async: true,
        success: function(response) {
           	result = response;
        },
        error: function(response) {
            alert("Ошибка");
        }
    });
    return result;
}
</script>


<table id="table1">
<thead>
	<th align="center" width="30>#</th>
	<th align="center" width="100">число1</th>
	<th align="center" width="100">число2</th>
 </thead>
<?php
$i = 1 
while ($i<5){?>
<tr>
        <td align="center" width="100"><?php=$i;?></td>
	<td align="center" width="100"><input id="input1_<?php=$i;?>" type="text"></td>
	<td align="center" width="100"><input id="input2_<?php=$i;?>" type="text"></td>
 </tr>
<?php $i++;
}?> 
</table>
<input type="button" onclick="test()">
...
Рейтинг: 0 / 0
27.03.2013, 12:12
    #38200227
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
посредством JSON например
ПХП ведь должен иметь средства для десериализации JSON ?
...
Рейтинг: 0 / 0
27.03.2013, 12:14
    #38200232
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
или под скриптом понимается JS ?
тогда для сериализации :)
...
Рейтинг: 0 / 0
27.03.2013, 22:30
    #38201357
Nevskiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
под скриптом я понимаю функцию test. Т.е как поймать все input-ы в функции и отправить на обработку в function.php
...
Рейтинг: 0 / 0
27.03.2013, 22:46
    #38201373
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
function test() {

	var inputs = $('#table1 input');
	var data = { count: inputs.length/2 };
	inputs.each( function() { data[this.id] = this.value; } );

    $.ajax({
        type: "POST",
        url: "function.php",
        data: data,
        async: true,
        success: function(response) {
           	result = response;
        },
        error: function(response) {
            alert("Ошибка");
        }
    });
}



в ПХП будет
Код: php
1.
2.
3.
4.
5.
6.
$_POST['count'] // количество (инпуты от inputX_1 до inputX_N)
$_POST['input1_1']
$_POST['input2_1']
$_POST['input1_2']
$_POST['input2_2']
...
...
Рейтинг: 0 / 0
27.03.2013, 23:27
    #38201403
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
уподоблюсь токующему тетеревуNevskiyпередать в скрипт Nevskiyпод скриптом я понимаю функцию test вот зачем так запутывать? нифига ж непонятно!NevskiyТ.е как поймать все input-ы в функции и отправить на обработку в function.php а вот была бы форма, можно было бы http://api.jquery.com/serialize/
а потом
http://stackoverflow.com/questions/2433727/submitting-a-multidimensional-array-via-post-with-php
под asp.net mvc это делается автоматом
может, под Yii тоже... не знаю, не специалист
...
Рейтинг: 0 / 0
28.03.2013, 00:46
    #38201438
Nevskiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
Паганель, простите, не хотел путать :-)

Сделал как предложил Яростный Меч , работает замечательно. Спасибо огромное! Только возник небольшой нубский вопрос, а как в php передать еще параметры помимо data? Т.е чтобы не путать

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
$.ajax({
        type: "POST",
        url: "function.php",
        data: data, здесь передать еще что-нибудь???
        async: true,
        success: function(response) {
           	result = response;
        },



Спасибо.
...
Рейтинг: 0 / 0
28.03.2013, 00:58
    #38201449
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
что значит еще что-нибудь?
это же объект на языке JS
то есть словарь, понимаете? добавляйте что хотите
как туда запихиваете count, точно так же можете запихнуть data['name'] = 'vasya'
ну а уж в пхп $_POST['name'] или как там...
...
Рейтинг: 0 / 0
28.03.2013, 01:26
    #38201466
re_qas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
в data можно передать json массив, а средствами пых его разобрать...
а так data: {<имя переменной принимаемой при $_POST["<имя>"]>:<данные>}
...
Рейтинг: 0 / 0
28.03.2013, 01:27
    #38201467
re_qas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
в топикстарте $_POST["test"] вернет "test"
намек понятен?
...
Рейтинг: 0 / 0
28.03.2013, 01:45
    #38201476
re_qas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
NevskiyТолько возник небольшой нубский вопрос, а как в php передать еще параметры помимо data?
Код: javascript
1.
2.
3.
4.
data:
{
массив
}


массив - ассоциативный,
т.е.
Код: javascript
1.
{"var_name":<value>, "var_name2":val2, ...}


при этом
Код: php
1.
 $_POST["var_name2"]=val2


если
Код: javascript
1.
data:value


то
Код: php
1.
$_POST = value
...
Рейтинг: 0 / 0
28.03.2013, 19:00
    #38203065
Nevskiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
Я попробовал сделать вот так
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
function test() {
        
        var perem = 1;
	var inputs = $('#table1 input');
	var data = { count: inputs.length/2 };
	inputs.each( function() { data[this.id] = this.value; } );

    $.ajax({
        type: "POST",
        url: "function.php",
        data: { 
            data,
            "perem" : perem
        },
        async: true,
        success: function(response) {
           	result = response;
        },
        error: function(response) {
            alert("Ошибка");
        }
    });
}



Но так не работает. Перестает ловить данные из data.
...
Рейтинг: 0 / 0
28.03.2013, 19:04
    #38203075
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
Код: javascript
1.
var data = { count: inputs.length/2, "perem" : perem };

?
...
Рейтинг: 0 / 0
28.03.2013, 19:18
    #38203092
Nevskiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача неизвестного количества параметров в ajax
Паганель, Спасибо!
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передача неизвестного количества параметров в ajax / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]