在getElementbyID()中传递变量

时间:2014-05-23 10:03:44

标签: javascript php html

是否可以在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 ???

中使用变量,是否有任何我需要遵循的约束

3 个答案:

答案 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>