当前位置: 代码迷 >> JavaScript >> 将php变量传递给javascript onclick函数
  详细解决方案

将php变量传递给javascript onclick函数

热度:17   发布时间:2023-06-05 09:27:59.0

无法将php变量传递到javascript函数中。

    <p id = "demo"><?php echo $color; ?></p><br>
    <?php while($rows = mysqli_fetch_array($result)) {
         $color = $rows["clr"]; 
    ?>      
    <ul id="menu">
        <li>
            <h onclick="myFunction('<?php echo $color; ?>');">
               <input type ="radio"  name="radio" id ="php" value="<?php echo $color;?>">
               <?php echo $color; ?>
               <!--//<label for = "php" type:<?php echo $rpproduct_typ_color; ?>></label>-->
            </h>
       </li>
    </ul>
    <script type="text/javascript" >
       function myFunction(a) {
          document.getElementById('demo').innerHTML = a;
       }
    </script>
   <?php } ?>

但是这样可以正常工作:-

<ul id="menu">
    <li>
         <input type ="radio" name="radio" id ="php" value="<?php echo $color; ?>" onClick="document.getElementById('demo').innerHTML=this.value">         <?php echo $color; ?>
         <!--//<label for = "php" type:<?php echo $color; ?>  ></label>-->
    </li>
</ul>

但我想将多个值传递给onClick函数,我希望第一个音调能够正常工作

您尚未关闭该行的花括号:

<?php while($rows = mysqli_fetch_array($result))
{

该元素不存在,因此我将其设为段落。

<p id="demo">EMPTY</p>
<br />
<ul id="menu">
    <?php
    $colours = array( '#FF0000', '#00FF00', '#0000FF' );
    foreach( $colours AS $colour ) {
    ?><li>
        <p onClick="changeColour('<?php echo $colour; ?>')">
            <input type ="radio"  name="radio" value="<?php echo $colour; ?>">
            <?php echo $colour; ?> 
        </p>
    </li>
    <?PHP } ?>
</ul>
<script type="text/javascript" >
function changeColour( a ) {
    document.getElementById('demo').innerHTML = a;
}
</script>

经过测试和工作

您是否将h误认为标题h1 .... h6 ? 由于HTML中没有h标签,因此至少我不知道。 但是,我建议改用块级元素,例如div或p 。

<li>
  <p onclick="myFunction('<?php echo $color; ?>');">
    <input type ="radio"  name="radio" id ="php" value="<?php echo $color;?>">
    <?php echo $color; ?>
  </p>
</li>

这将给我这样的输出,在Opera中可以正常工作:

<li>
    <p onclick="myFunction('red');" style="background-color: red;">
        <input type ="radio"  name="radio" id ="php" value="red"> red
    </p>
</li>
<li>
    <p onclick="myFunction('blue');" style="background-color: blue;">
        <input type ="radio"  name="radio" id ="php" value="blue"> blue
    </p>
</li>
  相关解决方案