Сообщение о проверке входных данных начальной загрузки не отображает php при настройке через JS - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь установить сообщения об ошибках с помощью .setCustomValidity () и класса .invalid-feedback в html-форме, используя bootstrap 4.

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

Например:

<div class="col-md-4">
            <input type="text" class="form-control" id="first_name" placeholder="<?php echo INP_FIRSTNAME; ?>" name="fname" autocomplete="given-name" required>
            <div class="invalid-feedback" id="fname-feedback"></div>
</div>

Сценарий:

let fname_feedback = document.getElementById("fname-feedback");
let fname_i = document.getElementsByName("fname")[0];

fname_feedback.innerHTML = "<?php echo FDB_LENGTH ?>";
fname_i.setCustomValidity("Not valid");

Затем мой div содержит это значение вместо значения FDB_LENGTH:

<!--?php echo FDB_LENGTH ?-->

Я пытался установить переменные из констант перед установкой innerHTML, но тогда больше ничего не показывалось, так что, если кто-нибудь может мне помочь или немного исправить, это будет с благодарностью!

Спасибо за чтение.

Ответы [ 2 ]

1 голос
/ 30 апреля 2019

Помните, что переменные PHP имеют $ перед ними:

<div class="col-md-4">
    <input type="text" class="form-control" id="first_name" placeholder="<?php echo $INP_FIRSTNAME; ?>" name="fname" autocomplete="given-name" required>
    <div class="invalid-feedback" id="fname-feedback"></div>
</div>

Сценарий:

let fname_feedback = document.getElementById("fname-feedback");
let fname_i = document.getElementsByName("fname")[0];

fname_feedback.innerHTML = "<?php echo $FDB_LENGTH; ?>";
fname_i.setCustomValidity("Not valid");
0 голосов
/ 30 апреля 2019

Тот код Javascript, который вы разместили, не интерпретируется как PHP. Если вы просто откроете любую случайную веб-страницу в браузере, выберите случайный элемент и вызовете .innerHTML = "<?php echo FDB_LENGTH ?>" на нем из консоли браузера, она будет демонстрировать поведение, которое вы описали.

Я предполагаю, что этот код Javascript является файлом .js, который не интерпретируется вашим сервером как файл PHP. Это ожидаемое поведение веб-сервера. Если вы хотите поместить PHP-вещи в свой Javascript, вам придется делать это намеренно (и, надеюсь, не везде). Например, вы можете создать встроенный тег <script> в файле .php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...