@MaksZhukov
programer

Как в условие if php вставить js?

Как в условие if php вставить js?

echo '
<script>
        document.addEventListener("DOMContentLoaded", function () {

            var pass1 = document.querySelector("#password"),
                pass2 = document.querySelector("#repeat-password"),
                email= document.querySelector("#email"),
                username = document.querySelector("#username")

            email.addEventListener("input", function () {
             ';
             if ( email_exists(<b>Сюда нужно вставить(this.value)</b>) ) { echo '
                this.setCustomValidity("' . esc_html__('This email already exists','fashionpress') . '");
                '; } echo '
            })
             username.addEventListener("input", function () {
                  ';
             if ( username_exists(<b>Сюда нужно вставить(this.value)</b>) ) { echo '
                this.setCustomValidity("' . esc_html__('This name already exists','fashionpress') . '");
                '; } echo '
            })

            pass1.addEventListener("input", function () {
                this.value != pass2.value ? pass2.setCustomValidity("'. esc_html__('Password incorrect','fashionpress') .'") : pass2.setCustomValidity("")
            })
            pass2.addEventListener("input", function (e) {
                this.value != pass1.value ? this.setCustomValidity("'. esc_html__('Password incorrect','fashionpress') .'") : this.setCustomValidity("")
            })
        })
    </script>
	';


И посмотрите верно ли я if прописсал?
  • Вопрос задан
  • 1053 просмотра
Пригласить эксперта
Ответы на вопрос 5
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
не достаточно скопировать код, вставить свои фантазии и ждать что это сработает.
Подсказка:
много учиться
понимать разницу фронтенд/бэкенд
ajax
Ответ написан
Комментировать
tema_sun
@tema_sun
Пожалуй самый правильный ответ в данном случае будет - "никак". Не делайте так. Тут всего-лишь ~30 строк когда, а читать его невозможно.
Ответ написан
Комментировать
@myphpscript
можно в условие js пихнуть данные из php
echo '
<script>
        if ( in_array(this.value, ["'.implode('","', $emails).'"]) ) { 
        this.setCustomValidity("' . esc_html__('This email already exists','fashionpress') . '");
       } 
    </script>
  ';

$emails - массив с существующими адресами
in_array - можно стянуть от сюда javascript.ru/php/in_array, если jquery $.inArray или свою написать. Но сам подход так себе, ибо сами понимаете, все адреса будут на виду, для таких проверок лучше юзать ajax.;)
Ответ написан
@AnneSmith
самая ленивая
учитесь работать с переменными в name space:
в head - script выводите все значения которые вам нужны и присваиваете параметрам
потом эти параметры используете где угодно в js коде
код js в данном случае засовывать в пхп нет никакой необходимости, пусть сидит в отдельном файле .js
ns.email_exists = $email_exists;    // true
if(ns.email_exists) .... // показать сообщение

хотя такую валидацию лучше делать через ajax call
Ответ написан
Комментировать
@Kirill-Gorelov
С ума с IT
Предположим, все выше сказанные термины страшны для вас или не знакомы. И проект не супер важен, то можно сделать по другому.

Все эти переменные от php запихать в инпут
<input type="hidden" id="v" value="<?php echo $name?>">


И уже в js брать значения из этих полей и проверять их.
Говорю сразу, это вариант не супер надежный, особенно если работаете с конфиденциальными данными. ТОда конечно же ajax, к примеру.
Но как один из вариантов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы