Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача переменных из PHP в JS 
:(
    Опции темы
Raily
Дата 30.3.2009, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



У меня такой вопрос: Я передаю из PHP в функцию JS переменную:
Код

$str.="<a onClick='javascript:info($id,$q[$i])'><u><font color=blue>";
$str.=$q[$i]."</font></u></a>";


При этом переменная $q[$i] взята из БД (здесь используется CodeIgniter)

Код

$query = $this->db->get_where('equipments', 'id='.$id)->result();
foreach($query as $key){
        $query=$key->ip;
}
$q=explode(",",$query);


переменная $q[$i] содержит IP-адрес, то есть она содержит в себе 3 точки (например, 127.0.0.0)

Почему JS не нравится, что в её функцию передается переменная с тремя точками, то есть если я передаю переменную например 127.0, то она нормально передается, а как только в этой строковой переменной появляются ещё точки, так JS сразу ругается. Может кто знает - почему?

Поняла, что JS переменную, которая в функцию передается воспринимает как число,  а не как строковую переменную, хотя в PHP это строковая переменная. Почему такое происходит? и как передать строку, чтобы скрипт понял, что это строка, а не число?

Это сообщение отредактировал(а) Raily - 30.3.2009, 15:27
PM MAIL   Вверх
skyboy
Дата 30.3.2009, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(Raily @  30.3.2009,  13:50 Найти цитируемый пост)
Почему такое происходит?

потому что твой PHP код генерирует следующий текст:
Код

$str.="<a onClick='javascript:info(11231654,127.0.0.1)'><u><font color=blue>";

строки в javascript, как  и в PHP, должны обрамляться кавычками при определении. Чего у тебя нет.
как в РНР выводятся строки?
Код

$var = '321321';
echo $var;

не выведет кавычки, а только значение.
Следовательно, тебе надо добавить кавычки в твой код(не забывая экранировать их при надобности):
Код

$str.="<a onClick='javascript:info($id,\"$q[$i]\")'><u><font color='blue'>";
$str.=$q[$i]."</font></u></a>";

PM MAIL   Вверх
Raily
Дата 30.3.2009, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



Спасибо! Теперь всё работает! smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0966 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.