donglian1982 2019-07-31 12:08
浏览 38
已采纳

如果PHP echo代码返回一个值,则运行脚本。 没什么

I have the following code which returns the result I require inside of a tab. But because the JavaScript is in the same file it shows a blank tab when there is no data to show. I remove the JavaScript and the tab disappears. How can I run the JavaScript only if data is present so the tab will disappear? Or can I call it from another file?

<?php echo $block->escapeHtml($block->getProduct()->getData($this->getCode()));
?>
<script type="text/JavaScript">
    var commareplace = document.querySelectorAll("div > #bikefitment");
    for (var i = 0; i < commareplace.length; i++) {
        commareplace[i].innerHTML = commareplace[i].innerHTML.replace(/,/g, "<br />");
    }
</script>
  • 写回答

3条回答 默认 最新

  • dqq46733 2019-07-31 12:18
    关注

    Since you have to hide the tab if escapeHtml() returns empty value. So you can create a condition block to add the script if escapeHtml() returns a non-empty value.

    <?php $EH = $block->escapeHtml($block->getProduct()->getData($this->getCode()));
    if ($EH) {
    
    echo $EH;
    ?>
    <script type="text/JavaScript">
        var commareplace = document.querySelectorAll("div > #bikefitment");
        for (var i = 0; i < commareplace.length; i++) {
            commareplace[i].innerHTML = commareplace[i].innerHTML.replace(/,/g, "<br />");
        }
    </script>
    
    <?php } ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?