在Javascript中的onClick函数上传递ID

时间:2018-05-07 13:59:21

标签: javascript bootstrap-4

我正在尝试使用onClick功能传递电子邮件,我想在警报中显示该电子邮件:

<td>
   <button class="btn btn-primary" name="buton" onclick="myfunction(<?php  $email;   ?>)" >Edit</button>
</td>

这是我的功能:

<script type="text/javascript">
    function myfunction(id)
    {
        alert(id);
    }
</script>

6 个答案:

答案 0 :(得分:0)

&#13;
&#13;
function myfunction(id)
    {
        alert(id);
    }
&#13;
<td>
<button class="btn btn-primary" name="buton" onClick="myfunction('<?php echo $email;   ?>')" >Edit</button></td>
&#13;
&#13;
&#13;

您需要将电子邮件放在单引号&#39;

答案 1 :(得分:0)

试试这个 当你传递电子邮件(字符串)时,它应该在quote中,并且在javascript中使用php时,你必须使用echo

<td><button class="btn btn-primary" name="buton" onclick="myfunction('<?php  echo $email;   ?>')" >Edit</button></td>

答案 2 :(得分:0)

你想要的可能是PHP标签<?=,它将$ email变量作为JavaScript函数的参数回显。请注意,您需要电子邮件的引号:

onclick='myfunction("<?= $email ?>")'

如果未启用短标签,则必须使用长版本:

onclick='myfunction("<?php echo $email; ?>")'

答案 3 :(得分:0)

您需要进行两项更改才能验证您的代码:

  1. 您应该添加echo以将php变量传递给JS。

  2. 您需要添加单个引号,因为$email是一个字符串,并且您已在onclick属性中使用双引号。

    <td>
      <button class="btn btn-primary" name="buton" onclick="myfunction('<?php echo $email; ?>')" >Edit</button>
    </td>
    

答案 4 :(得分:0)

您的代码正在运行,您只是没有以良好的方式回应$email的价值:
- myfunction(' … ')中缺少单引号 - 您的php标记echo

中缺少myfunction('<?php echo $email ?>')

避免这种问题...
在你的php中,我建议你使用heredoc语法:

echo <<< EOD
<td><button class="btn btn-primary" name="buton" onclick="myfunction('{$email}')">Edit</button></td>
EOD;

注意变量周围的{ }。它们不是必需的,但我建议你使用它们,因为它们使变量更加明显。

⋅⋅⋅

结果将是:

function myfunction(id) {
  alert(id);
}
<td><button class="btn btn-primary" name="buton" onclick="myfunction('myemail@stackoverflow.com')">Edit</button></td>

有关Heredoc语法的文档:http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

我希望它有所帮助。

答案 5 :(得分:0)

回显php标签中的变量

<td><button class="btn btn-primary" name="buton" onclick="myfunction('<?php  echo $email;   ?>')" >Edit</button></td>