Можно ли поместить javascript в Switch Case PHP?

У меня проблемы с размещением javascript внутри корпуса переключателя PHP, я получаю эту проблему:

Ошибка синтаксического анализа: синтаксическая ошибка, непредвиденный '<', ожидаемый регистр (T_CASE) или значение по умолчанию (T_DEFAULT) или '}' в

Вот код:

case 'settings':
        <script type = "text/javascript">
            ($('<div class = "'+ currentdiv +'">').load(settings.php).appendTo
            ($(targetdiv)));
        </script>
      break; 

Вам нужно повторить это как строку.

SudoKid 09.01.2019 00:56

заверните его как heredoc. php.net/manual/en/…

zfrisch 09.01.2019 00:56

Вы не можете поместить JS в PHP таким образом. Вам нужно либо распечатать (повторить) его, либо закрыть тег PHP, а затем снова открыть его, когда это необходимо / после того, как вы закончите с фрагментом JS.

Jeto 09.01.2019 00:57

Спасибо большое, друзья, но проблема заключалась в открытии и закрытии php для вывода javascript stackoverflow.com/a/54101489/7560197

Will John 09.01.2019 01:08

@ miken32 Извините, я не нашел этот вопрос, и даже если я думал, что не знаю ответа, потому что я думал, что не могу оставить javascript в переключателе!

Will John 09.01.2019 01:14
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
5
388
2

Ответы 2

Проблема решена! Проблема заключалась в том, чтобы закрыть php и снова открыть его, так как он не мог оставить javascript внутри php!

case 'configurations':
       ?> <script type = "text/javascript">
            ($('<div class = "div-content">').load("server/settings.php").appendTo
            (".content-loaded-tab"));
        </script>
    <?php
        break;

Необходимо захватить его как String, а затем отобразить в документе.

case 'settings':
  $script = "<script type='text/javascript'>\r\n";
  $script .= '\t$("<div>", { class: currentdiv }).load("settings.php").appendTo($(targetdiv)));\r\n';
  $script .= "</script>\r\n";
  echo $script;
  break;

Надеюсь, это поможет.

Большое спасибо, приятель, но проблема заключалась в открытии и закрытии php для вывода javascript stackoverflow.com/a/54101489/7560197

Will John 09.01.2019 01:06

@WillJohn да, вы можете избежать PHP или записать его как строку. Так или иначе.

Twisty 09.01.2019 01:07

Я бы посоветовал по возможности не добавлять html в переменную, особенно с использованием конкатенации в каждой строке. Это неуклюже, медленнее и заставляет избегать двойных кавычек (если вы не используете синтаксис heredoc). (Кроме того, некоторые IDE могут вообще не распознавать его как HTML)

Jeto 09.01.2019 01:12

@Jeto Я подписываюсь на разделение каждого элемента с использованием шаблонов, heredoc и т. д. OP, похоже, не использовал это, поэтому я предоставил ответ для этого конкретного варианта использования.

Twisty 09.01.2019 01:21

@Twisty Достаточно честно!

Jeto 09.01.2019 01:25

Другие вопросы по теме