是否可以在getElementbyId()中传递javascript变量?
这是我的无线电代码:
echo '<td><input id="dis1" type="radio" name="select" value="1" /></td>';
echo '<td>'.$poke[0]."<br>";
echo 'Level:'.$level[0]."<br>";
echo 'Health:'.$health[0]."<br></td>";
以下是我的javascript代码...其中首先将id值存储在PHP cvariable中,然后存储在javascript中并使用此javascript变量,我将禁用单选按钮。 !
<script>
var dis_value = <?php echo $dis_value; ?>; //$dis_value = dis1
document.getElementById("dis_value").disabled=true;
</script>
但是不知道为什么它似乎不起作用?如果我在getElementbyID ???
中使用变量,是否有任何我需要遵循的约束答案 0 :(得分:2)
首先,如果您使用PHP生成JavaScript,那么您需要生成真正的JavaScript。您不能只将变量转储到脚本中。
按照目前的情况,您生成的JavaScript将如下所示:
var dis_value = dis1;
会抛出引用错误,因为dis1
未定义。
将PHP字符串的内容转换为JavaScript字符串:
var dis_value = <?php echo json_encode($dis_value); ?>
第二,如果要使用变量,则使用变量,而不是字符串文字。
删除引号。
document.getElementById(dis_value) …
那就是说,为什么你首先要在这涉及到JavaScript?
<td><input id="dis1" type="radio" name="select" value="1" <?php
if ($dis_value == "dis1") {
echo "disabled";
}
?>/></td>
答案 1 :(得分:1)
尝试从var
中删除引号 <script>
var dis_value = "<?php echo $dis_value; ?>"; //$dis_value = dis1
document.getElementById(dis_value).disabled=true;
</script>
答案 2 :(得分:1)
试试这个。
<script>
var dis_value = '<?php echo $dis_value; ?>';
document.getElementById(dis_value).disabled=true;
</script>