Выделите код jquery из html, который отображается в php - PullRequest
0 голосов
/ 01 марта 2019

Так что я просто балуюсь этим и, скорее всего, делаю это неправильно.Но это доказательство концепции, поэтому я могу получить все возможности, чтобы заставить кого-то сделать это правильно.
Я использую скрипт php для входа в систему и для публикации переменных из форм.

Проблема: я выводю html-код, который включает в себя сценарии css, html и jquery в одном файле.Что хорошо для части css и html, но jquery не работает.

Есть ли способ поместить часть jquery в мой php-скрипт, чтобы она функционировала, или ее нужно разделитьи ссылки / загружены в HTML.(Я считаю, что это правильный путь, но я не знаю, как и с чего начать.)

код: (после привязки к ldap и аутентификации этот блок срабатывает)

// verify binding
    if ($ldap_bind) {
    echo "
<head>
<link - stylesheet \link>
</head>
<form class=\"form-horizontal\" action\"form.php\" method=\"POST\" enctype=\"multipart/form-data\">
<fieldset>
<body>
html code....lots of div boxes
<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>
<script>
$(document).ready(function(){
Various Jquery functions that hide/unhide div boxes
});
</script>
</body>
</fieldset>
</form>
";

            } else {
                echo "<p class='text-error'>Unable to log you in:</p>";

1 Ответ

0 голосов
/ 01 марта 2019

Во-первых, ваша структура HTML довольно запутана.Посмотрите, как я «реорганизовал» его ниже, и не стесняйтесь читать учебники, такие как этот об этом.

Во-вторых, вы можете использовать теги PHP (<?php и ?>) чтобы избежать многострочного echo и всей кавычки, избегающей беспорядка.То, что находится за пределами этих тегов, не будет обрабатываться PHP и отправляться как есть в браузер.Таким образом, вы можете написать «обычный» HTML там.

В-третьих, хорошей практикой является использование ваших сценариев вне HTML, таких как <form>.И библиотечные вызовы обычно помещаются в <head> ... Но также часто бывает так, чтобы он был ближе к концу документа, чуть выше </html> вместо <head>.Конечно, не странно везде в разметке.

// verify binding
if ($ldap_bind) {
  ?>
  <head>
  <title>My page title</title>
  <link rel="stylesheet" href="...">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  </head>
  <body>
    <form class="form-horizontal" action="form.php" method="POST" enctype="multipart/form-data">
      <fieldset>
        html code....lots of div boxes
      </fieldset>
    </form>

    <script>
    $(document).ready(function(){
      //Various jQuery functions that hide/unhide div boxes
    });
    </script>
  </body>
  <?php
} else {
  ?>
  <p class='text-error'>Unable to log you in:</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...