为什么这段代码在PHP中不起作用?当用户点击我的图像时,我想弹出一个对话框,其ID为" 1"。
<script>
echo "<script type='text/javascript'>
$id1 = document.getElementById('1');
$id1.onclick = function() {
alert('hello');
};
</script>";
答案 0 :(得分:0)
function one() {
alert('hello');
};
&#13;
<a onClick="one()">Click me!</a>
&#13;
答案 1 :(得分:0)
id属性指定其元素的唯一标识符(ID)。
ID可以采取什么形式没有其他限制;的 在 特别是,ID可以只包含数字 ,以数字开头, 以下划线开头,仅包括标点符号等。
元素的唯一标识符可用于各种目的, 最值得注意的是使用链接到文档的特定部分的方法 片段,作为在脚本编写时定位元素的一种方式,并作为一种方式 从CSS设置特定元素的样式。
尝试使用属性input
放置id="1"
元素,然后使用document.getElementById
函数访问它。它有效。
但我同意的是,这些标识很难阅读,理解甚至记住......只是&#34; 1&#34;并没有告诉你有关该元素的任何信息。我不建议使用这种方法。是的,最好使用更多&#34;告诉&#34;名称如&#34;按键测试&#34;或者那样的。
$
符号引用变量... PHP变量。因此,行$id1 = document.getElementById('1');
被解释为= document.getElementById('1');
并导致JS的语法错误。它首先被评估为一个php变量,并且由于它没有被定义,所以没有什么可以回应的,所以你想要添加到页面的js脚本是不是已经完成了。 该部分页面的源代码如下所示:
<script type="text/javascript">
= document.getElementById('1');
.onclick = function() {
alert('hello');
};
</script>
你看到自己没有变量
请尝试以下组合代码,而不是这样:
<?php
/*
If you declare a php variable, the value you assign to it becomes a JS
variable name and is echoed then in the script
*/
$id1 = "test";
echo "<script type='text/javascript'>
$id1 = document.getElementById('1');
$id1.onclick = function() {
alert('hello');
};
</script>"
?>
之后,如果您查看页面的源代码,您现在可以看到变量声明是正确的:
<script type="text/javascript">
// Var name has appeared!
test = document.getElementById('1');
test.onclick = function() {
alert('hello');
};
</script>
如果您在代码中没有出现其他错误,点击该按钮会导致警告弹出。
我建议按以下方式声明变量:
var varName = value;
否则变量会自动变为全局变量。您选择的方式取决于您的目标和计划架构