PHP变量超出了Javascript的范围,我如何获得它的范围?
我想在HTML中做一个下拉菜单,但我想让它的默认值由PHP变量的值决定。我想用JavaScript做到这一点,但最终出现了着名的“Uncaught ReferenceError:$ is not defined”错误:/。PHP变量超出了Javascript的范围,我如何获得它的范围?
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>
我试着放置在页面上其他地方的脚本,但没有成功:/。我怀疑变量超出范围,但我不知道如何恢复:/。
它应该是 -
<select name="Type" id="Type">
而且
document.getElementById("Type").selectedIndex = '<?php echo $te; ?>';
那么工作,但事实证明,我也是一个白痴。虽然这解决了我得到的错误,但也表明我试图通过id选择下拉列表的值,而不是变量$ te的值。 *捂脸* – BadAtPHP
提供$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>
-
删除引号areound的PHP变量itsself并将其放置在html:
<script> document.getElementById("Type").selectedIndex = "<?php echo $te; ?>"; </script>
替换'' – Thaillie
PHP或JavaScript引发错误?这段代码创建的JavaScript是什么? – David