我正在尝试在HTML中下拉,但我希望它的默认值由PHP变量的值决定。我想用JavaScript做到这一点,但我最终得到了着名的“Uncaught ReferenceError:$ is not defined”错误:/。
PHP:
while(list($ArtikelID, $Type) = mysql_fetch_array($result))
{
$arid = $ArtikelID;
$te = $Type;
}
HTML + JS:
<form name="send" method="post" action="editartticlesdef.php">
articlenumber: </br>
<input readonly="readonly" name="ArticleID" value=<?php echo $arid ?>></br>
Type: </br>
<select name="Type">
<option value="Article">Article</option>
<option value="Code">Code</option>
<option value="News">News</option>
<option value="Project">Project</option>
</select></br>
<script>
document.getElementById("Type").selectedIndex = <?php echo '$te'; ?>;
</script>
</form>
我尝试将脚本放在页面上的其他位置但没有成功:/。我怀疑该变量超出了范围,但我不知道如何将其恢复原状:/。
答案 0 :(得分:4)
应该是 -
<select name="Type" id="Type">
和
document.getElementById("Type").selectedIndex = '<?php echo $te; ?>';
答案 1 :(得分:1)
如果$te
是0到3之间的整数,那么您需要:
选择一个id属性:
<select name="Type" id="Type">
<option value="Article">Article</option>
<option value="Code">Code</option>
<option value="News">News</option>
<option value="Project">Project</option>
</select>
删除自己的php变量引用并将它们放在html中:
<script>
document.getElementById("Type").selectedIndex = "<?php echo $te; ?>";
</script>
答案 2 :(得分:0)
很抱歉没有回答这个问题,但你不应该使用mysql_,它已被弃用且不安全(参见PHP Manual)。使用MySQLi或PDO。