За последние 24 часа нас посетили 16859 программистов и 1641 робот. Сейчас ищут 945 программистов ...

из PHP в JS. Передает значение до пробела.

Тема в разделе "PHP для новичков", создана пользователем stos, 22 дек 2011.

  1. stos

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

    С нами с:
    28 дек 2007
    Сообщения:
    57
    Симпатии:
    0
    здравствуйте.
    итак, вот проблема моя:
    PHP:
    1. ...
    2.  echo "<a href=javascript:show_products('".$cat2_tmp[$h]["razdel"]."','".$cat2_tmp[$h]["name"]."') target='_self' style = 'text-decoration: none'>"...
    передаю в ДжС две переменные. первая - число(без проблем), вторая - строка(обрезает всё после пробела) :(
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Попробуй так:
    PHP:
    1. <?php
    2. // ...
    3. echo "<a href=\"javascript:show_products('".$cat2_tmp[$h]['razdel']."','".$cat2_tmp[$h]['name']."')\" target=\"_self\" style=\"text-decoration: none\">...";
    4. ?>
    Точно уверен, что именно до пробела? Как-то такое маловероятно, мне кажется. Скорее в какой-то из переменных $cat2_tmp[$h]['razdel'] или $cat2_tmp[$h]['name'] одинарная кавычка незаэкранированая...

    Открой исходный код, найди эту строку и посмотри, как выглядит в уже сгенерированном виде.
     
  3. stos

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

    С нами с:
    28 дек 2007
    Сообщения:
    57
    Симпатии:
    0
    Спасибо. Да, так полегчало.
     
  4. stos

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

    С нами с:
    28 дек 2007
    Сообщения:
    57
    Симпатии:
    0
    нет. ошибка в том, что адрес ссылки, в данном случае - функция js, был не кавычках. надо было заключить
    PHP:
    1. javascript:show_products('".$cat2_tmp[$h]['razdel']."','".$cat2_tmp[$h]['name']."')
    в экранированные двойные кавычки.
    всё работает. еще раз спасибо.