Javascript 功能在通过 PHP 获得的站点部分不起作用需要

Javascript functions not working in segments of the site obtained through PHP require

我在我的网站 <head> 中有一些 <script type="text/javascript"> 功能,我有通过 PHP require 获得的网站部分,这些功能适用于各种东西,有些已经在函数所在的同一文件中,有些是通过 require 获得的,这些函数在那些已经在 <body> 上的段中正常工作,但从一开始就没有通过 require.

获得的工作

我尝试将 重新定位到 的末尾,以查看元素的加载顺序是否有问题,但没有任何区别,功能仍然无法正常工作。

一如既往,我们非常感谢任何形式的帮助,感谢您的宝贵时间。

根据下面的要求是代码

以下代码位于 <head>:

<script type="text/javascript">
    function showHide() {
        var radioDel = document.getElementById("radDel");
        var radioRet = document.getElementById("radRet");

        if (radioDel.checked) {
            document.getElementById("dir").style.display = "flex";
            document.getElementById("diaEn").style.display = "flex";
            document.getElementById("direccion").required = true;
            document.getElementById("radRet").required = false;
        }

        if (radioRet.checked) {
            document.getElementById("dir").style.display = "none";
            document.getElementById("diaEn").style.display = "none";
            document.getElementById("direccion").required = false;
            document.getElementById("radDel").required = false;
        }
    }       
</script>

下面的代码位于 <body> 中,函数在其中运行:

<fieldset class="form-group">
    <div class="row">
        <div class="col-sm-10">
            <div class="form-check">
                <input class="form-check-input" name="radios" id="radRet" type="radio" value="Retira" onclick="showHide()" required>
                <label for="radRet" class="form-check-label font-weight-bold">Retiro personalmente</label>
            </div>
            <div class="form-check">
                <input class="form-check-input" name="radios" id="radDel" type="radio" value="Delivery" onclick="showHide()" required>
                <label for="radDel" class="form-check-label font-weight-bold">Entrega</label>
                <small id="diaEn" class="form-text text-muted" style="display:none;">Todas las entregas se hacen con Rappi</small>
            </div>
        </div>
    </div>
</fieldset>

下面的代码是通过<?php require $_SERVER['DOCUMENT_ROOT'].'/php/fieldset.php'; ?>得到的,其中的函数不起作用:

<fieldset class="form-group">
    <div class="row">
        <div class="col-sm-10">
            <div class="form-check">
                <input class="form-check-input" name="radios" id="radRet" type="radio" value="Retira" onclick="showHide()" required>
                <label for="radRet" class="form-check-label font-weight-bold">Retiro personalmente</label>
            </div>
            <div class="form-check">
                <input class="form-check-input" name="radios" id="radDel" type="radio" value="Delivery" onclick="showHide()" required>
                <label for="radDel" class="form-check-label font-weight-bold">Entrega</label>
                <small id="diaEn" class="form-text text-muted" style="display:none;">Todas las entregas se hacen con Rappi</small>
            </div>
        </div>
    </div>
</fieldset>

您的 ID radRetradDel 重复。

  • 通过函数参数传递不同的 ID。 showHide(id1, id2)
  • 相对引用该元素。
  • 在 PHP 中更改您的 ID。