Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.06.2013, 17:00
Новичок на форуме
Отправить личное сообщение для bonev Посмотреть профиль Найти все сообщения от bonev
 
Регистрация: 12.06.2013
Сообщений: 3

Взаимодействие PHP и JavaScript
Подскажите пожалуйста.
На странице есть скрипт вызова всплывающего окна.
Там же есть некий скрытый div текст которого передается в это всплывающее окно.
<div id="ajax-add-answer1"><?echo $arItem["DETAIL_TEXT"]?></div>
этот текст в добавляет PHP.

При открытии страница скрипт работает с ошибкой, хотя PHP нормально вставляет текст.

Если я заменю строку PHP на текст то все нормально.
<div id="ajax-add-answer1">бла-бла-бла</div>

По логике получается что сначала отрабатывает JavaScript а потом уже PHP. Может такое быть?
Ответить с цитированием
  #2 (permalink)  
Старый 12.06.2013, 17:43
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

<div id="ajax-add-answer1"><?php echo htmlspecialchars($arItem["DETAIL_TEXT"]);?></div>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 12.06.2013, 17:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от bonev
По логике получается что сначала отрабатывает JavaScript а потом уже PHP. Может такое быть?
Конечно. Если у пользователя в браузер встроен интерпретатор PHP )
Ответить с цитированием
  #4 (permalink)  
Старый 12.06.2013, 18:02
Новичок на форуме
Отправить личное сообщение для bonev Посмотреть профиль Найти все сообщения от bonev
 
Регистрация: 12.06.2013
Сообщений: 3

devote,
Спасибо. Оно.
danik.js,
Ну да. Правильное замечание. Спасибо.
Ответить с цитированием
  #5 (permalink)  
Старый 12.06.2013, 18:12
Новичок на форуме
Отправить личное сообщение для bonev Посмотреть профиль Найти все сообщения от bonev
 
Регистрация: 12.06.2013
Сообщений: 3

еще непонятно
если так
<div id="ajax-add-answer1">test<br>test</div>
получается все правильно

а если так
<div id="ajax-add-answer1"><?php echo htmlspecialchars($arItem["DETAIL_TEXT"]);?></div>
то отрабатывает, но вываливает весь html в тексте
Ответить с цитированием
  #6 (permalink)  
Старый 12.06.2013, 18:33
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от bonev
то отрабатывает, но вываливает весь html в тексте
значит не нужно использовать htmlspecialchars, но в тексте нужно почистить скрипты.. выпилить их оттуда.. Видимо они там присутствуют, от того и ошибки.. Удалите из текста все что в тегах script и их включительно.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #7 (permalink)  
Старый 12.06.2013, 19:16
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от devote
<div id="ajax-add-answer1"><?php echo htmlspecialchars($arItem["DETAIL_TEXT"]);?></div>
devote, привет
не принципиально, но для красоты для таких случаев обычно юзают выражения <?=
Ответить с цитированием
  #8 (permalink)  
Старый 12.06.2013, 19:18
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Для красоты таких случаев юзают twig
Ответить с цитированием
  #9 (permalink)  
Старый 12.06.2013, 19:55
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от bes
devote, привет
привет
Сообщение от bes
но для красоты для таких случаев обычно юзают выражения <?=
которое на некоторых серверах может быть выключено, директивой short_open_tag=off

Хотя с версии PHP 5.4 эта директива вроде как(если мне память не изменяет) не будет реагировать на тег <?=
Но я обычно перестраховываюсь, на всякий случай) привычка)
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #10 (permalink)  
Старый 12.06.2013, 21:25
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от devote
которое на некоторых серверах может быть выключено, директивой short_open_tag=off

Хотя с версии PHP 5.4 эта директива вроде как(если мне память не изменяет) не будет реагировать на тег <?=
да, с 5.4 short_open_tag действует только на <? и это правильно, нельзя допускать такой беспредел
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приглашаем web-программистов (php, MySQL, Javascript). smithandpartners Работа 2 18.08.2012 21:51
Связь между страницами с javascript и php ... и обратно okrip25 AJAX и COMET 7 09.01.2012 14:43
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Как передать картинку из javascript в php KIVagant AJAX и COMET 3 12.05.2010 11:54