【问题标题】:Pass href onclick variable to function in PHP将 href onclick 变量传递给 PHP 中的函数
【发布时间】:2017-02-15 22:49:27
【问题描述】:

我正在尝试将存储在 href 链接中的变量传递给函数。我能够从查询结果中定义变量。我的问题是单击超链接后将其传递给函数。这是我的代码:

<?php
    foreach($pdo->query('SELECT * FROM sk_courses ORDER BY courseID') as $row)
    {
      echo "<a href='#' onclick='hrefClick(".$row['courseID'].");'/>".$row['courseID']."</a><br>";
    } 
?>

这是函数:

<script> 
function hrefClick($course){
      $newCourse=$course;
}
</script>

【问题讨论】:

  • 这在 PHP 如何提供响应的工作流程中没有意义。我猜你应该更倾向于一个有角度的单页应用程序,或者它很简单,你可以在 data 参数或其他形式的可访问 javascript 代码中编码数据。
  • 为什么你的javascript中有php?所有 php 都在服务器端运行

标签: php function variables href


【解决方案1】:

我能找到完成它的方法吗?这似乎很简单。这就是我想出的。

<?php
    foreach($pdo->query('SELECT * FROM sk_courses ORDER BY courseID') as $row){
      echo  "<form name='course".$row['courseID']."' action='index.php' method='GET'/>";
      echo "<a href='javascript: document.course".$row['courseID'].".submit();'/>".$row['courseID']."</a>";
      echo "<input type='hidden' name='courseID' value='".$row['courseID']."'/><br>";
      echo "</form>";
    } 
  ?>

【讨论】:

    【解决方案2】:

    我们将在这里使用两个文件。从 file1.php 点击链接,我们将通过 Ajax 将数据发送到 file2.php。这是一个基于 Jquery 的解决方案。

    //file1.php
    <?php
    foreach($pdo->query('SELECT * FROM sk_courses ORDER BY courseID') as $row){
        echo '<a href="javascript:void()" data-href="'.$row['courseID'].'"/>'.$row['courseID'].'</a><br>';
    }
    ?>
    <script>
        $('a').click(function(){
            var hrefData = $(this).attr('data-href');
            if (typeof hrefData !== typeof undefined && hrefData !== false) {
                alert(hrefData);
                //or You can post the data
                $.post( "file2.php", { courseid:hrefData} );
            }
        });
    </script>
    

    您可以在 file2.php 上检索结果

    //file2.php
    <?php
    if(isset($_POST['courseid'])){
        $newCourse = $_POST['courseid'];
    }
    ?>
    

    【讨论】:

      【解决方案3】:

      PHP 代码:

      <?php
          foreach($pdo->query('SELECT * FROM sk_courses ORDER BY courseID') as $row)
          {
            echo "<a href='#' onclick='hrefClick(".$row['courseID'].");'/>".$row['courseID']."</a><br>";
          } 
      ?>
      

      功能应为:

      <script> 
      function hrefClick(course){
            // You can't define php variables in java script as $course etc.
            var newCourse=course;
            alert(newCourse);
      }
      </script>
      

      【讨论】:

        猜你喜欢
        • 2018-04-19
        • 1970-01-01
        • 1970-01-01
        • 2015-12-17
        • 2011-09-27
        • 1970-01-01
        • 1970-01-01
        • 2019-04-21
        • 1970-01-01
        相关资源
        最近更新 更多