我有一个php页面,我有一些值为long值的数组。
我在这样的javascript函数中传递了这个数组
$ canswer是一个数组 我正在爆炸并传递如下的参数,
$cans=implode(',',$canswer);
echo "<input type='checkbox' name='q1' id='1' onclick=\"save_answer('1','$cans')\">";
此代码适用于数组中的短值。当我在数组中有长值时,onclick无效。当我尝试查看视图源时,我看到页面中的数组值被截断。
我已尝试使用以下代码为每个值提供引号。但这也不起作用。
$correctanswer1="'" . implode("','", $correctanswer) . "'";echo $correctanswer1;
此致 雷卡
答案 0 :(得分:0)
您可以将值数组保存为页面上的javascript字符串,然后调用onclick
属性中的字符串。
<script type="text/javascript">
cans_string = '<?php echo implode(',',$canswer); ?>';
</script>
<input type="checkbox" name="q1" id="1" onclick="save_answer('1',cans_string)">
答案 1 :(得分:0)
希望这能解决问题
答案 2 :(得分:0)
您可能无法转义输出中的某些特殊字符。通过htmlentities
或htmlspecialchars
运行您的输出,以消除会破坏您的HTML或JavaScript的字符。
$cans=htmlentities(implode(',',$canswer), ENT_QUOTES);
echo "<input type='checkbox' name='q1' id='1' onclick=\"save_answer('1','$cans')\">";
注意输出中断的位置,以及可能破坏它的字符。