JavaScript — эхо-оператор PHP внутри тега div getElementByID

В настоящее время у меня есть форма, которую я использую из форм Gravity, вот мой HTML-код

    <div class="dropdown">
<button onclick="myFunction()" class="dropbtn">SPECIFY PRODUCT</button>
<div id="myDropdown_<?php echo get_the_ID(); ?>" class="dropdown-content">
<?php gravity_form( 1, false, false, false, '', true ); ?>
</div>
</div>

Как вы можете видеть, я повторяю идентификатор продукта из woocommerce, чтобы указать другой идентификатор, зависящий от того, на каком продукте нажимает пользователь. Это отлично работает.

Хотя, теперь, когда я создаю функцию JavaScript:

    function myFunction() {
document.getElementById("myDropdown_<?php echo get_the_ID(); ?>").classList.toggle("show");
}

Как я могу получить ‘get_the_ID’, как у меня в HTML-код, чтобы он мог раскрыть мою форму в соответствии с выбранным продуктом?

Вы можете взглянуть на это здесь: http://www.ctagroup.com.au/cta-group-home/products/tactile-guidance/suresteel/suresteel-classic/

Любая помощь будет принята с благодарностью.

С уважением

0

Решение

Это потому что "myDropdown_<?php echo get_the_ID(); ?>" часть рассматривается как строка не PHP-код.

Попробуйте так:

<script>
var theId = "<?php echo get_the_ID(); ?>";

function myFunction() {
document.getElementById("myDropdown_" + theId).classList.toggle("show");
}
</script>
2

Другие решения

Вы всегда можете попробовать сгенерировать JS-код с помощью PHP.
Конечно, на случай, если попытки решить проблему оказались безуспешными.
Не вижу проблем с этой «техникой».

0

По вопросам рекламы [email protected]