单击时更改按钮文本

Change button text when onclick

我有这行代码

<?php 
$STRING .= '<a href="#" onclick="changeText(this)" class="btn btn-info btn-lg"></a>';
?>

<script>
function changeText(id) {
id.innerHTML = "Ooops!";
}
</script>

效果很好,按钮文本变为 Oooops

我希望按钮文本更改为

的输出
 $data = get_user_meta( $authorID, 'cellno', true);

我更改

的值
id.innerHTML = "Ooops!";

id.innerHTML = "$data = get_user_meta( $authorID, 'cellno', true)";

id.innerHTML = "$data";

但它不起作用 :(, 我做错了什么?

编辑: 这是我使用数据功能的地方

 $data = get_user_meta( $authorID, 'cellno', true);
        if(strlen($data) > 0){ 
        echo "<span><i class='fa fa-phone'></i> <a href='phone:".$data."' rel='nofollow' target='_blank'>Mobile</a> </span>"; 
        }

它改变了什么吗?

$data 来自另一个文件:D

id.innerHTML = "<?php echo $data = get_user_meta( $authorID, 'cellno', true); ?>";

id.innerHTML = "<?php echo $data; ?>";

这是你实际上不应该做的事情,因为你有内联 javascript 和 php 输出的 <script> 标签。您应该将 javascript 放在单独的文件中。

但这是解决您正在尝试做的事情的方法:

<?php 
$STRING .= '<a href="#" onclick="changeText(this)" class="btn btn-info btn-lg"></a>';
$data = get_user_meta( $authorID, 'cellno', true);
?>

<script>
function changeText(id) {
id.innerHTML = <?php echo $data;?>;
}
</script>