php
  • function
  • variables
  • href
  • 2016-10-07 55 views 0 likes 
    0

    我试图通过存储在HREF链接到一个函数变量。我能够从查询结果中定义变量。一旦超级链接被点击,我的问题就是将它传递给函数。这是我的代码:通HREF的onclick变量函数在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){ 
         $newCourse=$course; 
    } 
    </script> 
    
    +0

    这在PHP服务其响应的工作流程中没有意义。我猜你应该更倾向于一个有角度的单页应用程序,或者它足够简单,你可以用'data'参数或其他一些可访问的javascript代码形式编码数据。 – Blake

    +0

    为什么你的javaScript中有php?所有php运行后服务器端 – nogad

    +0

    编辑..https://jsfiddle.net/wp78scgv/ – nogad

    回答

    0

    我能找到一种方法,结果把它做?它看起来非常简单。这是我想出的。

    <?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>"; 
        } 
        ?> 
    
    0

    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> 
    
    0

    我们将在这里使用两个文件。在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']; 
    } 
    ?> 
    
    相关问题