JavaScript 标签上的 <a> 函数在没有调用的情况下被执行,甚至我应用了 onClick 事件监听器

JavaScript function on <a> tag is getting executed without calling and even I applied onClick event listener

我正在尝试对点击代码调用 javaScript 函数。但是当我没有点击 link 时,该函数会自动执行,并且我还为函数调用应用了 onClick 事件侦听器,但它仍然在执行

这是标签

<a id="apply" href="?id='.$id . '"  class="btn btn-default" >Apply For Job</a>

这里是函数

<script type="text/javascript">

document.getElementById('apply').onclick = function() {
    <?php
    echo $uid=$_SESSION["id"];
$sql=mysqli_query($con,"select * from registration where usr_id='$uid'");
                             $row=mysqli_fetch_array($sql);
                               
                                   $user_id=$row['usr_id'];
                                   echo $user_id;
                                    echo $post=$_GET['id'];

   $sql_post_query=mysqli_query($con,"select * from posts where post_id='$post'"); 
  $row_post_query=mysqli_fetch_array($sql_post_query);
  $pos_title=$row['status_title'];
  $sql1=mysqli_query($con,"select * from job_applications where post_id='$post' && user_id='$uid'"); 
  $row1=mysqli_fetch_array($sql1);
  if($row1)
  {        
//do nothing
  }
else
{
$sql_query=mysqli_query($con,"insert into job_applications(post_id,user_id,post_title,date) values('$post','$user_id','$pos_title',NOW())");
     if($sql_query)
     {
        echo "<script>alert('You have successfully applied for this job')</script>";
   phpAlert( "You have successfully applied for this job" );    
     }

}?>
}​;​

它 运行 没有你执行或点击它的原因是因为它是一个 php 代码。首次加载页面时 php 代码为 运行 并且 'onclick' 不会阻止它。 Javascript 的 onclick 事件处理客户端事件,而 PHP 是服务器端事件。

为了在单击 link 时仅 运行 php 代码,您需要查看 ajax 调用或 html 表单,基本上是一种与服务器通信的方式