[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: массив из js в php через window.open
acute
Пожалуйста, помогите)
(И я знаю про AJAX и JQuery, с их помощью гораздо проще все это сделать. Но это учебное задание, нужно сделать именно через window.open)
Есть файл, в нем js код:


var id = ['1', '2', '3', '4', '5']; // массив переменной длины, там будут id выбранных пользователем чекбоксов

function showArr(id) {
for(var i=0; i < id.length; i++) { // вот здесь я не понимаю, как сделать, чтобы элементы массива //id выводились get' ом все сразу, в виде page.php?id[0]=1&id[1]=2&...

window.open('page.php?'+id[i], 'two window'); // тут я тоже запуталась
}
}

showArr();


И как правильно принять и обработать все это в page.php?


for($i = 0; $i < count( кого?); $i++) // я понимаю, что это неправильно, но голова уже ничего не соображает
$test = $_GET['id'];

var_dump($test);


При передаче одного значения - все работает. А с массивом я не понимаю. Объясните, пожалуйста.
Игорь_Vasinsky
Цитата
И я знаю про AJAX

сомневаюсь))

если бы ты знал AJAX - ты бы знал про JSON

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
acute
Цитата (Игорь_Vasinsky @ 14.12.2016 - 05:24)
Цитата
И я знаю про AJAX

сомневаюсь))

если бы ты знал AJAX - ты бы знал про JSON

Это задание нужно сделать именно таким способом. Куда здесь json?
я попросила о помощи. вы зашли просто поязвить или есть предложения?
sergeiss
Цитата (acute @ 14.12.2016 - 08:43)
Куда здесь json?

Предлагаю погуглить на тему "что такое json" и суть предложения Игоря станет понятна.Особенно с учетом фразы "При передаче одного значения - все работает."

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Игорь_Vasinsky
Цитата
я попросила о помощи. вы зашли просто поязвить или есть предложения?

я подумал и решил - что тебя не должно касаться что и кто здесь делает.

когда человек вместо уточняющего вопроса пытается себя поставить в роль человека, которому тут кто-то, что-то должен - обычно заканчивается весельем.

как бы намёк.

Цитата

При передаче одного значения - все работает. А с массивом я не понимаю. Объясните, пожалуйста.


var_dump($test);


это ты так данные "передала" ? :)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Another Reality
Если не JSON, то строка должна быть такого вида:
page.php?id[]=1&id[]=2&...

вот так сойдет:

var id = ['1', '2', '3', '4', '5'];
var str = 'page.php?';

for(var i = 0; i < id.length; i++) {
str += 'id[]=' + id[i];
if(i < id.length -1)
str += '&';
}
brevis
JavaScript же :)
['1', '2', '3', '4', '5'].map(function(n){return 'id[]=' + n;}).join('&')
https://jsbin.com/wejivosire/edit?js,console

_____________
Чатик в телеге
Another Reality
Цитата (brevis @ 14.12.2016 - 13:16)
JavaScript же :)
['1', '2', '3', '4', '5'].map(function(n){return 'id[]=' + n;}).join('&')
https://jsbin.com/wejivosire/edit?js,console

Слишком дерзко для уровня задачи smile.gif
acute
Цитата (Another Reality @ 14.12.2016 - 12:55)
Если не JSON, то строка должна быть такого вида:
page.php?id[]=1&id[]=2&...

вот так сойдет:

var id = ['1', '2', '3', '4', '5'];
var str = 'page.php?';

for(var i = 0; i < id.length; i++) {
str += 'id[]=' + id[i];
if(i < id.length -1)
str += '&';
}

Спасибо! То, что нужно )
Теперь буду знать.
У меня не хватает навыков. Надеюсь, это придет со временем.
Вроде и ничего сложного, но пока один раз не увидишь, трудно догадаться.
acute
Цитата (brevis @ 14.12.2016 - 13:16)
JavaScript же :)
['1', '2', '3', '4', '5'].map(function(n){return 'id[]=' + n;}).join('&')
https://jsbin.com/wejivosire/edit?js,console

Завораживающее зрелище. Красиво, тоже так хочу уметь )
Спасибо!

Как вы этому научились?
sergeiss
Цитата (acute @ 14.12.2016 - 22:28)
Как вы этому научились?

Английского садовника спрашивают, как вырастить правильный "английский газон"?
Он отвечает:
- Нет ничего проще, сэр! Надо просто поливать и стричь это газон. Раз в день. Каждый день. В течение 100 лет.
user posted image

Или, применительно к программированию, надо постоянно что-то делать. И в процессе изучать новое.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
FatCat
Цитата (Another Reality @ 14.12.2016 - 11:55)
for(var i = 0; i < id.length; i++) {
str += 'id[]=' + id[i];
if(i < id.length -1)
str += '&';
}

for(i in id)str += '&id[]=' + i;


_____________
Бесплатному сыру в дырки не заглядывают...
FatCat
Или лучше:
str += 'id[]=' + id.join('&id[]=');


_____________
Бесплатному сыру в дырки не заглядывают...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.