在html代码中点击与通过id查找|如何将值从php添加到js

Onclick in html-code vs find by id | How add value from php to js

本文关键字:php js 添加 查找 代码 html id      更新时间:2023-09-26

我有两个问题:

1) -当我在html中使用onclick时,或者当我在脚本中找到元素by时,哪个例子更好?

2) -通过''<''传递$id值正确吗=$id ''?>在第二个例子中?

<p onclick="message(<?=$id;?>)">Test</p>
<script>
    function message(id){
        alert(id);
    }
</script>

<p id="message">Test</p>
<script>
    $("#message").click(function(){
        alert(<?=$id;?>); //<---id
    }
</script>

您的第一个示例是一个完全的语法错误。你会生成

<p onclick="message-7">Test</p>

由于onclick的"中的任何内容都是Javascript代码,因此您正在执行"未定义变量减7"。

如果你想存储你的7,你可以把它分配给一个JS变量,或者把它作为一个函数参数传递:

<script>
 var foo = <?php echo json_encode($id); ?>;
</script>
<!-- or you do -->
<p onclick="somefunction(<?php echo json_encode($id); ?>);">click me</p>

注意json_encode()的使用。在这种情况下没有必要,但这是一个好习惯。你永远不应该在没有PHP变量的情况下直接将其转储到javascript上下文中。记住,客户端浏览器永远不会看到你的PHP代码。它只会看到你生成的任何javascript,如果PHP值包含非法javascript,你只会产生一个javascript语法错误并杀死整个块。

  • 问题1是addEventListener与onclick的重复
  • 问题2:是的,应该有效:-)