Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как передать массив для JS ?

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: Terri   (15.05.2007 в 19:25)   письмо автору
 
   для: CNT   (15.05.2007 в 16:34)
 

заранее извиняюсь если что не так напишу, ну не понимаю как его исполнить этот скрипт

если тот файл что тут http://tune.yandex.ru/region/ajax/ajaxjs.js?2 исполняет тоесть всё что нужно делает строит в одну строку и как надо передаёт яве-скрипту, то мне уже ненадо на ява-скрипте что-то ещё писать, тогда вопрос такой, как должен оформлен файл который будет содержать данные? я просто даже в текстовый файл скопировал тот массив что получил по ссылке
http://tune.yandex.ru/region/newgeoselector/getGeoByParent.xml?parentRegionID=225
и указал в место той ссылки на свою на тот файл текстовый, но всёже скрипт не заработал..

ладно, если кому-то надоел со своими глупыми вопросами, не пиште, пойму...

   
 
 автор: Terri   (15.05.2007 в 16:44)   письмо автору
 
   для: CNT   (15.05.2007 в 16:34)
 

ага, спасибо, там всего три файла я тогда находил
ajax.js
ajaxjs.js
geoselectorTree.js

ну я по эксперементирую, что получится

да кстати, а зачем подставляют ?2 на конце расширения .js ?

такое часто бываю замечаю

   
 
 автор: CNT   (15.05.2007 в 16:34)   письмо автору
 
   для: Terri   (15.05.2007 в 16:22)
 

скрипт, который создает новый тег <script> и заполняет его полученной строкой, находится по другому адресу - http://tune.yandex.ru/region/ajax/ajaxjs.js?2

   
 
 автор: Terri   (15.05.2007 в 16:22)   письмо автору
 
   для: CNT   (15.05.2007 в 16:12)
 

хорошо, спасибо, я тогда сейчас буду эксперементировать

to: coloboc66 но у вас передаётся одномерный массив, ну ладно, не буду придерется, попробую ещё поэксперементировать

но вообще то, у них ведь скрипт уже готовый он и должен его обрабатывать те данные что передаются по ссылке
вот сам скрипт
http://tune.yandex.ru/region/newgeoselector/geoselectorTree.js

   
 
 автор: CNT   (15.05.2007 в 16:12)   письмо автору
 
   для: Terri   (15.05.2007 в 15:49)
 

В общем, смотрите внимательнее.
На яндексе, как обычно, решили "пойти в обход".
В PHP-сценарии формируется СТРОКА, кою вы здесь продублировали выше (тем где переменная r="")
Т.е. никаких массивов PHP-скрипт вовсе не формирует - он формирует строку, коя на HTML-странице в своём первозданном виде выглядит как "формирование массива"
И вот эту полученную строку JS-код подставляет в виде innerHTML тега <script>

   
 
 автор: coloboc66   (15.05.2007 в 16:06)   письмо автору
 
   для: Terri   (15.05.2007 в 15:49)
 

Вот вам простой алгоритм:

<?php
$arr
=array("Москва","Питер""Горький");
$str_arr=implode("|",$arr);
?>
<script>
var str_arr = "<?=$str_arr;?>".split ('|');
for(i=0;i<str_arr.length;i++)alert(str_arr[i]);
</script>

здесь var str_arr и есть новый массив. Все работает. И ничего странного. Так и передавайте массив в ява-скрипт.

   
 
 автор: Terri   (15.05.2007 в 15:49)   письмо автору
 
   для: coloboc66   (15.05.2007 в 15:40)
 

но дело в том что я в яве-скрипте ничего не понимаю не изучал его, но знаю PHP, еслибы я знал ява язык, то может быть не задавался подобными вопросами, но ведь и все сразу нельзя знать все языки, а задача к примеру сейчас стоит сделать, вот и пытаюсь решить, а задача в принципе я незнаю, только понять как передать и всё, а всё остальное уже написано, все .js скрипты я слил к себе

Но я ещё попробывал как сделать, удалил все строки переноса все что там выдовалось поместил в одну строку, длинная правдо поучилась, но как неработало так и неработает, странно както

   
 
 автор: coloboc66   (15.05.2007 в 15:40)   письмо автору
 
   для: CNT   (15.05.2007 в 15:32)
 

to Terri: я вам рекомендую не смотреть на чужие скрипты и пытаться их изменить под себя (это очень сложно без определенного опыта), а написать свой скрипт с нуля. Сформулируйте для себя МИНИМАЛЬНУЮ задачу, и пошагово начинайте ее решать. Так вы и опыта в программировании наберетесь, и помогать вам будут на форуме намного более эффективно - когда вы будете задавать конкретный вопрос, а не вываливать здоровенный скрипт - кому охота в этом скрипте копаться, если только он не гений???!!!

   
 
 автор: Terri   (15.05.2007 в 15:33)   письмо автору
 
   для: coloboc66   (15.05.2007 в 15:29)
 

я так понимаю не нужно передавать ввиде одной строки, вот к примеру если обратится по ссылке

http://tune.yandex.ru/region/newgeoselector/getGeoByParent.xml?parentRegionID=225

то, сервер не выдаёт ввиде одной строки, а там сразу видно что строк много и ява скрипт понимает

   
 
 автор: CNT   (15.05.2007 в 15:32)   письмо автору
 
   для: coloboc66   (15.05.2007 в 15:11)
 

Блин, а я о чём написал-то?

Массив - это виртуальность определённого документа.
То, что является массивом для PHP-сценария, таковым для другого документа (скрипт HTML-страницы) не является.

Передавать JScript'у можно только строку
Поэтому массив ещё в PHP-сценарии должен преобразовываться в текстовую строку, а в JScript'e из строки. если необходимо, надо формировать собственный массив.

PS. 10 человек в военной форме, идущие гурьбой - для вас кто?
Правильно - толпа военных.
А в армии они называются отделением.

   

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования