За последние 24 часа нас посетили 36434 программиста и 1300 роботов. Сейчас ищут 913 программистов ...

Передать массив php в javascript

Тема в разделе "Прочие вопросы по PHP", создана пользователем darkgod, 25 дек 2009.

  1. darkgod

    darkgod Активный пользователь

    С нами с:
    31 мар 2008
    Сообщения:
    201
    Симпатии:
    0
    Есть массивы php
    Код (Text):
    1.  
    2. <?
    3. $arr = array('user_login', 'user_mail');
    4. $arr1 = array('логин', 'mail');
    5. ?>
    и есть javascript, в который нужно вставить этот массив
    Код (Text):
    1. <script language="JavaScript">
    2.                 required = new Array("user_login", "user_mail"); // вместо "user_login", "user_mail" нужно чтобы подставлялся массив $arr
    3.                 required_show = new Array("логин", "mail"); // вместо "логин", "mail" нужно чтобы подставлялся массив $arr1
    4.                 function SendForm () {
    5.                 var i, j;
    6.                 for(j=0; j<required.length; j++) {
    7.                     for (i=0; i<document.forms[0].length; i++) {
    8.                         if (document.forms[0].elements[i].name == required[j] && document.forms[0].elements[i].value == "" ) {
    9.                             alert(\'заполните \n\'+ required_show[j]);
    10.                             document.forms[0].elements[i].focus();
    11.                             return false;
    12.                         }
    13.                     }
    14.                 }
    15.                 return true;
    16.                 }
    17.          </script>
    Помогите вставить массив из php в javascript. 2 часа провозился так и не получилось
     
  2. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    PHP:
    1. echo 'куча javascript кода'.$arr[0].'javascript код'.$arr[1].'еще куча javascript кода';
    второй массив аналогично.
    в чем тут может быть проблема?
     
  3. darkgod

    darkgod Активный пользователь

    С нами с:
    31 мар 2008
    Сообщения:
    201
    Симпатии:
    0
    LuckyScrat

    Вы читать пробовали что мне нужно? Или самое главное написать пост и не важно в тему он или нет, хотя здесь денег за посты вроде не платят и значит вы форумом ошиблись...
     
  4. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    А вы думать пробовали?

    Вам дали решение.
    Или вам слюнявчик подать и вытереть?
    Тогда вы форумом ошиблись.
     
  5. darkgod

    darkgod Активный пользователь

    С нами с:
    31 мар 2008
    Сообщения:
    201
    Симпатии:
    0
    Simpliest
    Какое тут решение?
    если я скрипт пихаю в функцию, а функции передаю параметры в качестве массивов???

    т.е. мне функции нужно передать 2 массива и чтобы это работало... а разобрать массив на составляющие когда известны все переменные и они не изменны может и пятиклассник....
     
  6. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Это печально. Значит вы хуже пятиклассника.

    Так вот к сведению. PHP не может ничего передать яваскрипту в им же формируемой странице.
    Но вы можете заставить PHP создать описание массивов в странице и в синтаксисе яваскрипта, так как это показал LuckyScrat
    Точно так же как создаете html код страницы.
     
  7. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
  8. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    phpfaq.ru/na_tanke
     
  9. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    topas

    +500.

    частенько использую такого типа конструкции

    PHP:
    1. <?php
    2. header('Content-type:text/javascript');
    3. header('Cache-Control: no-cache, no-story, must-revalidate');
    4. header('Expire:'.date('r'));
    5. ?>
    6. var infolist = <?php echo json_encode( isset($infolist)&&is_array($infolist) ? $infolist : array() ); ?>;
    так что клиент на js получает корректные данные из php, ожидаемого типа)
     
  10. darkgod

    darkgod Активный пользователь

    С нами с:
    31 мар 2008
    Сообщения:
    201
    Симпатии:
    0
    Simpliest
    Хуже пятиклассника вы... если не знаете, лучше не писать

    topas
    Огромное спасибо! все сделал!

    DarkElf
    тоже спасибо, но уже сделал, почти также...
     
  11. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Я знаю что ты дурак. Это я знаю 100%

    Теперь ты тоже знаешь часть того, что я знаю.
     
  12. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    echo json_encode((array)$infolist );

    Зы. Бан троллю
     
  13. obsrv

    obsrv Активный пользователь

    С нами с:
    2 окт 2008
    Сообщения:
    238
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Код (Text):
    1.  
    2. <?php
    3. $arr = array("user_login", "user_mail");
    4. $arr1 = array("login, "mail");
    5. ?>
    6. <script language="JavaScript">
    7.   required = [ <?php echo '"' . implode('","', $arr) . '"'; ?> ]
    8.   required_show = [ <?php echo '"' . implode('","', $arr1) . '"'; ?> ]
    9.   function SendForm () {
    10. .....
    11. </script>
     
  14. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    obsrv
    кмк, для получения json-packed структур лучше использовать встроенную функцию, для этого предназначенную)
     
  15. obsrv

    obsrv Активный пользователь

    С нами с:
    2 окт 2008
    Сообщения:
    238
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    DarkElf
    Не вопрос :) Просто я не использовал еще json_encode (признаюсь - век живи, век учись).
    Со старинки так делал, не отслеживал.
     
  16. darkgod

    darkgod Активный пользователь

    С нами с:
    31 мар 2008
    Сообщения:
    201
    Симпатии:
    0
    дурака ты увидишь когда в зеркало будешь смотреть!