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

将PHP变量分配给JavaScript变量,值正在消失

将PHP变量分配给JavaScript变量,值正在消失

PHP
鸿蒙传说 2022-01-14 15:01:52
我正在尝试将 PHP 变量分配给 JavaScript 变量。当我执行“console.log(ca)”时;控制台将其记录为空变量。但是,如果我单击“查看页面源代码”,它会显示变量设置正确。JavaScript:function checkAnswer(o, header) {    x = document.getElementById(o);    var ca = "<?php echo $value['a']; ?>";    if (x.value == ca) {        document.getElementById(header).className = 'header bg-green';        console.log("test");    } else {        document.getElementById(header).className = 'header bg-red';        console.log("User: " + x.value + " Answer: " + ca);    }}控制台响应:用户:司钻 答案:页面源代码:function checkAnswer(o, header) {    x = document.getElementById(o);    var ca = "Driller";    if (x.value == ca) {        document.getElementById(header).className = 'header bg-green';        console.log("test");    } else {        document.getElementById(header).className = 'header bg-red';        console.log("User: " + x.value + " Answer: " + ca);    }}调用函数的 HTML/PHP:<input type='radio' id='".$value['id']."1' name='".$value['id']."' value='".$value['o1']."' onChange='checkAnswer(\"".$value['id']."1\", \"header_".$value['id']."\")'/>
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

你能帮忙解释一下你想要达到的目标吗?因为很不清楚


x.value 不能等于您给出的描述中的“ca”。


您还需要将带有 id header_* 的元素添加到您的问题中


<div id = 'header_" . $value['id'] ."'>


</div>

这样onchange函数才能真正运行。


查看完整回答
反对 回复 2022-01-14
?
三国纷争

TA贡献1804条经验 获得超7个赞

问题是您正在设置一个元素的属性,该属性在您的 DOM HTML 中不存在。

这就是为什么它在控制台中显示错误的原因。[见图片]

//img1.sycdn.imooc.com//61e11ffe000127fe19191077.jpg

您需要在更改类header的行上创建一个 id 或注释元素。header's


请参阅下面我测试过的代码。


<?php

$value = array('id'=>1, 'o1' => 'Driller', 'a' => 'Driller');

echo "<input type='radio' id='" . $value['id'] . "1' name='" . $value['id'] . "' value='" . $value['o1'] . "' onChange='checkAnswer(\"" . $value['id'] . "1\", \"header_" . $value['id'] . "\")'/>

";

?>


<script>

    function checkAnswer(o, header) {

        x = document.getElementById(o);

        var ca = "<?php echo $value['a']; ?>";

        if (x.value == ca) {

            //document.getElementById(header).className = 'header bg-green';

            console.log("test");

        } else {

            //document.getElementById(header).className = 'header bg-red';

            console.log("User: " + x.value + " Answer: " + ca);

        }

    }

</script>


查看完整回答
反对 回复 2022-01-14
  • 2 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号