2016-02-26 43 views
0

我目前得到了这是我从重力形式使用表单内回声声明,这里是我的html代码PHP的getElementById div标签

<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呼应的产品ID,以根据用户点击哪个产品给出不同的div ID。这工作正常。

虽然,现在当我创建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

你得到一个错误? –

+0

whta的yoyr问题? –

回答

0

你总是可以尝试通过PHP生成JS代码代替。 当然万一,如果解决问题的尝试失败了。 没有看到这个“技术”的任何问题。

2

这是因为"myDropdown_<?php echo get_the_ID(); ?>"部分是treated as string没有PHP代码。

试试这个方法:

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

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

我试图把这个放在我的脚本@Risan中,尽管按钮不下拉。我得到这些错误 - 类型错误:null不是(评估 '的document.getElementById( “myDropdown_” + theId).classList') myFunctionsuresteel经典的对象:483 onclicksuresteel经典:787 – ctad

+0

重力形式我按照这些步骤[链接] https://www.gravityhelp.com/documentation/article/gform_enqueue_scripts/ in my functions.php文件 'add_action('gform_enqueue_scripts','enqueue_custom_script',10,2);' in my header.php '<?php add_action('gform_enqueue_scripts','enqueue_custom_script',10,2); (true){ wp_enqueue_script('custom_script','path/file.js'); } } ?>' – ctad

+0

它似乎是变量拉动通过id,虽然它从哪里拉它?它不符合任何产品ID。变量需要从所选产品中抽取ID,但我不确定如何做到这一点。 http://i.imgur.com/K2oB2fD.png?1 – ctad