如何将按钮的php变量onclick作为参数发送到javascript函数

时间:2017-05-23 11:34:11

标签: javascript php jquery html codeigniter

我正在使用codeigniter 3.下面是视图页面的代码,其中$ row-> poll_question内的数据;来自数据库。因此,此变量中的不同值将在名为voting.php的页面上回显。在此变量旁边,有一个名为View Poll的按钮。 现在,单击此按钮我想将此php变量的数据传递给javascript部分。只需提醒并检查javascript。请帮忙。我粘贴了我试过的代码。

voting.php

<h3 class="val" id="val" style="color:rgb(158, 158, 158);font-family: 
arial;margin-top: 2%;" ><?php echo $row->poll_question; ?></h3>
</td>

<td>

<a class="btn btn-lg btn-primary view_button" id="view_button" 
 style="margin-left: 18%;padding:10%;border-radius: 10px;" 
 onclick="fetch_val(<?php echo $row->poll_question ?>)">View Poll</a>

的Javascript

function fetch_val(val)
{
     alert(val);
}

2 个答案:

答案 0 :(得分:1)

您忘记在quote上添加'<?php echo $row->poll_question ?>'了。检查下面的更新代码

<h3 class="val" id="val" style="color:rgb(158, 158, 158);font-family: 
arial;margin-top: 2%;" ><?php echo $row->poll_question; ?></h3>
</td>

<td>

<a class="btn btn-lg btn-primary view_button" id="view_button" 
 style="margin-left: 18%;padding:10%;border-radius: 10px;" 
 onclick="fetch_val('<?php echo $row->poll_question ?>')">View Poll</a>

答案 1 :(得分:1)

我不建议对字符串进行冗余存储。

您已经在id的{​​{1}}标签中添加了值。只需使用它即可。

更多建议将所有样式移至外部样式表,并在<h3>上使用javascript侦听器。

您可以使用内联函数调用:

#view_button

或通过用您的JavaScript编写的侦听器触发<h3 class="val" id="val"><?php echo $row->poll_question; ?></h3> <a class="btn btn-lg btn-primary view_button" id="view_button" onclick="fetch_val(document.getElementById('val').innerHTML);">View Poll</a> (这是一种更清洁/更专业的方式):

fetch_val()

关于编写纯JavaScript onclick处理程序:https://stackoverflow.com/a/17633164/2943403

为事件分配自定义功能: https://stackoverflow.com/a/24665785/2943403

使用我的以上两种技术中的任何一种都将消除引用由document.getElementById('view_button').onclick = function() { alert(document.getElementById('val').innerHTML); } 之类的问题引起的问题的可能性。