ФорумПрограммированиеJavaScript → Передача даных

Передача даных

  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz 11 марта 2011 г. 11:25

    Подскажите пожалуйста кто знает.

    в php есть переменная содержащие данные в массиве, как мне эти данные передать массиву в javascript.

    Для примера


    $masive=array(0=>"blue", 1=>"blek", 3=>"gren");



    var mas=new Array();


    Как сделать чтобы переменная mas получила данные массива $masive;
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 11 марта 2011 г. 11:55, спустя 30 минут 6 секунд

    foreach и echo тебе в помощь
    from TRIAL with LOVE
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz 11 марта 2011 г. 12:53, спустя 58 минут 8 секунд

    можешь расписать плиз.
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 11 марта 2011 г. 13:06, спустя 13 минут 15 секунд

    echo "<script type='text/javascript'>
    var mas=new Array();";

    $masive=array(0=>"blue", … );

    foreach($massive as $k => $v) {
    echo "mas[$k] = '$v';";
    }

    echo "</script>";
    from TRIAL with LOVE
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 11 марта 2011 г. 13:19, спустя 13 минут 11 секунд

    [man]json_encode[/man]
    Спустя 94 сек.
    <?php
    $masive=array(0=>"blue", 1=>"blek", 3=>"gren");
    ?>
    <script type='text/javascript'>var ololo = <?php echo json_encode($masive); ?>;</script>
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz 11 марта 2011 г. 15:58, спустя 2 часа 38 минут 28 секунд

    Спасибо сейчас опробую.
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz 11 марта 2011 г. 17:56, спустя 1 час 57 минут 54 секунды

    Подскажите еще пожалуйста.


    <?php
    $masive=array(0=>"blue", 1=>"blek", 3=>"gren");
    ?>
    <script type='text/javascript'>var ololo = <?php echo json_encode($masive); ?>;</script>


    судя из этого кода переменной ololo присваеваем через echo массив $masive, но не могу понять зачем нужна функция [man]json_encode[/man], ??????

    насколько я понял из описанияя она должна перебразовать данные массива в обьект свойства тоесть:
    ololo={0:"blue",1:"blek", 2:"gren"}
    где 1 это ключ "обьект", blek - значения єтого ключа"свойства".
    Обьясните пожалуйста.
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz 11 марта 2011 г. 18:07, спустя 11 минут 5 секунд

    все понял так и есть ключ:значение, другими словами ассоциативнй массив.
    Подскажите еще пожалуйста

    var as="blue";
    ololo={0:"blue",1:"blek", 2:"gren"};


    какой функцией можно проверить существует ли значениие переменной as в массиве ololo, и если да вывести true иначе falhe.
    как єто организовать, я так понимаю через if.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 11 марта 2011 г. 18:47, спустя 39 минут 53 секунды


    foreach и echo тебе в помощь


    ололо
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 11 марта 2011 г. 20:40, спустя 1 час 53 минуты 12 секунд

    какой функцией можно проверить существует ли  значениие переменной as в массиве ololo, и если да вывести true иначе falhe.
    как єто организовать, я так понимаю через if.


    Попробуй, а там как получиться. Например, если быстро и на один раз, то я бы загнал:

    var hasValue = ololo.join(',').indexOf(as)

    Но это не красиво. Думай как, у тебя в распоряжении есть for … in и обычный if
  • stanick

    Сообщения: 91 Репутация: N Группа: Кто попало

    Spritz 12 марта 2011 г. 19:04, спустя 22 часа 23 минуты 51 секунду

    подскажите не могу понять в чем тут дело: не могу обьявить локальную переменную глобальной.
    А именно делаю так:

    function fucus(){
    var login;
    login=document.forms['forms1'].elements['input'].value;
    return login;}

    Данные вывожу сюда
    <div id="post" ></div>  

    Отсюда
    post.innerText=login;

    Функция сробатывает по событию, с этим нормально проверял подстовлял
    post.innerText=login;
    ; не посредственно в функцию, все данные выводила. А за функцией не выводит почему?
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 12 марта 2011 г. 19:17, спустя 13 минут 34 секунды


    function fucus(){
    var login;
    login=document.forms['forms1'].elements['input'].value;
    return login;}


    Здесь login видна только в функции focus. Поэтому, что бы она была глобальной нужно всего лишь объявить ее вне focus.

    Например, так:


    var login = null;
    function fucus()
    {
    login = document.forms['forms1'].elements['input'].value;
    }


    И познакомьтесь с jQuery и основами программирования, а то следующая тема будет: "почему не работает в FireFox", а потом "почему не использовать переменные до их объявления"


  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 12 марта 2011 г. 20:58, спустя 1 час 40 минут 26 секунд

    "почему не работает в FireFox"

    а кто-то такое уже говорил? оО
    Высокоуровневое абстрактное говно
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 12 марта 2011 г. 21:36, спустя 38 минут 44 секунды

    а кто-то такое уже говорил? оО

    это что-то вроде метафоры
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 12 марта 2011 г. 21:40, спустя 3 минуты 48 секунд

    фух…. а я уже голову ломаю, не могу понять, что может не работать в фф))
    Высокоуровневое абстрактное говно

Пожалуйста, авторизуйтесь, чтобы написать комментарий!