猿问

如果 PHP 回显代码返回一个值,则运行脚本。别的什么

我有以下代码,它返回我在选项卡内需要的结果。但是因为 JavaScript 在同一个文件中,所以当没有数据要显示时,它会显示一个空白选项卡。我删除了 JavaScript,选项卡消失了。如何仅在数据存在时运行 JavaScript 才能使选项卡消失?或者我可以从另一个文件中调用它吗?


<?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>


白板的微信
浏览 144回答 3
3回答

慕工程0101907

因为如果escapeHtml()返回空值,您必须隐藏选项卡。因此,如果escapeHtml()返回非空值,您可以创建一个条件块来添加脚本。<?php $EH = $block->escapeHtml($block->getProduct()->getData($this->getCode()));if ($EH) {echo $EH;?><script type="text/JavaScript">&nbsp; &nbsp; var commareplace = document.querySelectorAll("div > #bikefitment");&nbsp; &nbsp; for (var i = 0; i < commareplace.length; i++) {&nbsp; &nbsp; &nbsp; &nbsp; commareplace[i].innerHTML = commareplace[i].innerHTML.replace(/,/g, "<br />");&nbsp; &nbsp; }</script><?php } ?>

森栏

使用 if 语句在 php 标签中检查值 id 存在,然后您可以呈现 java 脚本标签以及值。<?php&nbsp;&nbsp; &nbsp; $val = $block->escapeHtml($block->getProduct()->getData($this->getCode()));&nbsp;&nbsp;&nbsp; &nbsp; $script =&nbsp; '<script type="text/JavaScript">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var commareplace = document.querySelectorAll("div > #bikefitment");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (var i = 0; i < commareplace.length; i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; commareplace[i].innerHTML = commareplace[i].innerHTML.replace(/,/g, "<br />");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </script>';&nbsp; &nbsp; if($val != "" || $val !=null)&nbsp; &nbsp; {&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;echo $val;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;echo $script;&nbsp; &nbsp; }?>

汪汪一只猫

我对 PHP 的了解不是最好的,所以我就这样描述它。只需将数据保存在变量中如果数据存在(例如不为空)打印数据和 JavaScript 代码如果它不存在,则什么都不做下面是一些伪代码:<?phpdata = $block->escapeHtml($block->getProduct()->getData($this->getCode()));if (data exists) {&nbsp; &nbsp; echo data;&nbsp; &nbsp; echo /* Your JavaScript Code*/;}?>
随时随地看视频慕课网APP
我要回答