为了账号安全,请及时绑定邮箱和手机立即绑定

由于 javascript 获取 PHP 值,代码无法正常运行,我不知道如何比较它们

由于 javascript 获取 PHP 值,代码无法正常运行,我不知道如何比较它们

aluckdog 2023-10-17 15:55:22
<div class="content">            <h1>Üdvözöllek, <?php echo $nickname; ?>! </h2>            <h4>Válasszon hetet: </h4>            <select class="select-selected" id="1" name="het" onchange="checkclass()">                <option disabled selected value>Hét</option>                <option value="1"><?php echo $sd->format('m.d')," - ", $ed->format('m.d');?></option>                <option value="2"><?php echo $sd2->format('m.d')," - ", $ed2->format('m.d');?></option>                <option value="3"><?php echo $sd3->format('m.d')," - ", $ed3->format('m.d');?></option>            </select>        </div >        <div>            <a id="class">                <select class="select-selected" id="2" onchange="checksubject()" name="osztaly">                <option disabled selected value><?php echo $class; ?></option></select>            </a>            <a id="subject">                <select class="select-selected" id="3" name="tantargy">                <option disabled selected value><?php echo $subject; ?></option></select>            </a>            <a id="bontotte"></a>            <a id="classtwo"></a>        </div>        <script>因此,最后一个不会使其成为要填写的选择框,就像另一个名为“osztaly”的选择框一样。我认为 javascript 中的 IF 标记有问题,因为这些值无法比较:)
查看完整描述

2 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

由于狄更斯找到了使代码工作的正确方法,因此这里是正确输出的示例。本质上源有一些小错误,这里被消除了


function checkclass() {

        var het = document.getElementById('1').value;

        if(1<=het){

            var onosztaly = 

            '<select class="select-selected" id="2" onchange="checksubject()" name="osztaly">'+

            '<option disabled selected value>class</option>'+

            '<option value="class1">class1</option>'+

            '<option value="class2">class2</option>'+

            '<option value="class3">class3</option>'+

            '<option value="class4">class4</option>'+

            '<option value="class5">class5</option>'+

            '<option value="class6">class6</option>'+

            '<option value="class7">class7</option>'+

            '</select>';        

            document.getElementById("class").innerHTML =(onosztaly);

        }

        }

    function checksubject() {

        var onsub = '<select class="select-selected" name="tantargy">'+

            '<option disabled selected value>subject</option>'+

            '<option value="subject1">subject1</option>'+

            '<option value="subject2">subject2</option>'+

            '<option value="subject3">subject3</option>'+

            '<option value="subject4">subject4</option>'+

            '</select>';

            document.getElementById("subject").innerHTML =(onsub);

        }

<div class="content">

            <h1>Üdvözöllek, nickname! </h2>

            <h4>Válasszon hetet: </h4>


            <select class="select-selected" id="1" name="het" onchange="checkclass()">

                <option disabled selected value>Hét</option>

                <option value="1">date1</option>

                <option value="2">Date2</option>

                <option value="3">Date3</option>

            </select>


        </div >

        <div>


            <a id="class">

                <select class="select-selected" id="2" onchange="checksubject()" name="osztaly">

                <option disabled selected value>Class</option></select>

            </a>

            <a id="subject">

                <select class="select-selected" id="3" name="tantargy">

                <option disabled selected value>Subject</option></select>

            </a>

            <a id="bontotte"></a>

            <a id="classtwo"></a>

        </div>


查看完整回答
反对 回复 2023-10-17
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您已通过 javascript 覆盖了自己的选择框

更改此代码

 var onosztaly = 
   '<select class="select-selected" name="osztaly">'+

 var onosztaly = 
   '<select class="select-selected" id="2" onchange="checksubject()" name="osztaly">'+

它将起作用,意味着当日期更改时,选择框的 ID 和更改事件都会丢失

坦白说你的设计不好,有有效的方法来添加选项和删除选项,innerHTML是非常旧的风格

问题正文表明————javascript getting PHP values这种理解是错误的

您的整个代码呈现为运行 HTML 并提供给浏览器,浏览器中不再有 PHP,只有您正在为下拉更改所做的浏览器编码

所以当你认为实际上是从 PHP 读取值时,这是不正确的理解

您仅在 javascript 中直接读取 HTML 组件值


查看完整回答
反对 回复 2023-10-17
  • 2 回答
  • 0 关注
  • 64 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信