У меня проблемы с размещением javascript внутри корпуса переключателя PHP, я получаю эту проблему:
Вот код:
case 'settings':
<script type = "text/javascript">
($('<div class = "'+ currentdiv +'">').load(settings.php).appendTo
($(targetdiv)));
</script>
break;
заверните его как heredoc. php.net/manual/en/…
Вы не можете поместить JS в PHP таким образом. Вам нужно либо распечатать (повторить) его, либо закрыть тег PHP, а затем снова открыть его, когда это необходимо / после того, как вы закончите с фрагментом JS.
Спасибо большое, друзья, но проблема заключалась в открытии и закрытии php для вывода javascript stackoverflow.com/a/54101489/7560197
@ miken32 Извините, я не нашел этот вопрос, и даже если я думал, что не знаю ответа, потому что я думал, что не могу оставить javascript в переключателе!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Проблема решена! Проблема заключалась в том, чтобы закрыть 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
@WillJohn да, вы можете избежать PHP или записать его как строку. Так или иначе.
Я бы посоветовал по возможности не добавлять html в переменную, особенно с использованием конкатенации в каждой строке. Это неуклюже, медленнее и заставляет избегать двойных кавычек (если вы не используете синтаксис heredoc). (Кроме того, некоторые IDE могут вообще не распознавать его как HTML)
@Jeto Я подписываюсь на разделение каждого элемента с использованием шаблонов, heredoc и т. д. OP, похоже, не использовал это, поэтому я предоставил ответ для этого конкретного варианта использования.
@Twisty Достаточно честно!
Вам нужно повторить это как строку.