Как использовать переменную PHP в jQuery (в плагине Wordpress) - PullRequest
1 голос
/ 11 октября 2019

Это код плагина WordPress. Следующий код работает, но в модальном окне нет текста. Ошибка в этом введите описание изображения здесь

     <?php
            $phpvariabletext =  get_post_meta( $post_id, '_billing_satis_sozlesme', true );
            // $phpvariabletext large text along with html codes

            ?>
            <a class="classa" id="view" onclick="openmodal()"> Show Contract </a>

            <script type="text/javascript">
            var content = '<?php echo $phpvariabletext; ?>';
            var newmodal = new tingle.modal();
             function openmodal() {
                newmodal.open();
                newmodal.setContent(content);
            }
        </script>

Ответы [ 2 ]

2 голосов
/ 11 октября 2019

Вы можете использовать переменную PHP в JQuery / Javascript, легко проверить следующие шаги

1) Сохраненное значение переменной PHP во входном теге HTML как скрытый тип

<input type="hidden" value="<?php echo $phpvariabletext;?>" id="phpvariable">

2) После присвоения значения переменнойв теге ввода HTML. Вы можете получить значение в JQuery / Javascript.

<script type="text/javascript">
        var content = $('#phpvariable').val();
        var newmodal = new tingle.modal();
         function openmodal() {
            newmodal.open();
            newmodal.setContent(content);
        }
</script>
0 голосов
/ 11 октября 2019

Создание дополнительных элементов DOM исключительно для переноса значения - ненужная дополнительная разметка.

Я всегда передаю данные php в javascript как вывод json_encode() (без кавычек вручную), поскольку он автоматически заключает в кавычки вашу строку иэкранируйте любые двойные кавычки в фактических данных.

<a class="classa" id="view" onclick="openmodal()"> Show Contract </a>

<script type="text/javascript">
    let newmodal = new tingle.modal();
    function openmodal() {
        newmodal.open();
        newmodal.setContent(<?= json_encode(get_post_meta($post_id, '_billing_satis_sozlesme', true)); ?>);
    }
</script>

Приведенный выше метод выводит значение php, используя php "короткие теги".

Ps, вы также можете рассмотреть удаление встроенных jsвызовите функцию и используйте прослушиватель событий в вашем js, чтобы хранить все поведения / события в одном месте.

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