[英]Javascript not running when onclick is called
其他onclicks一般看起来很好,这个特殊的onclick将无法运行,我想不出为什么。
HTML(来自PHP回声)
<div class=\"f_love_it\">
<button id=\"f_love_it_{$type}_{$currant_id}\" class=\"btn btn-primary\" onclick=\"love_it({$_SESSION['user_id']},{$currant_id},{$type},{$post["user_id"]})\">I Love It!
</button></div>
纯HTML
<button id="f_love_it_comment_16" class="btn btn-primary" onclick="love_it(4,16,comment,1)">I Love It!</button>
剧本
function love_it(lover_id,loved_id,post_type,poster_id)
{
alert("You moose");
var xmlhttp = new XMLHttpRequest();
var get_request = "/lib/love.php?lover_id="+lover_id+"&loved_id="+loved_id+"&type="+post_type+"&poster_id="+poster_id;
var element_id = 'f_love_it_'+post_type+'_'+loved_id;
document.getElementById(element_id).innerHTML = 'Yup';
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(element_id).innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", get_request, true);
xmlhttp.send();
}
onclick=\"love_it({$_SESSION['user_id']},{$currant_id},{$type},{$post["user_id"]})\"
这个片段似乎包含一些PHP。 检查HTML中的输出,因为它似乎不正确。 你混合单引号和双引号,你拼写currant_id
,我想应该是current_id
,除非你想要识别一个浆果。
通常,如果您的Javascript没有运行,请检查浏览器中的Javascript并跟踪PHP代码的任何错误。 这比评估PHP代码和猜测错误要容易得多。 您的浏览器可能有一个控制台(按F12),显示Javascript运行时错误。
[编辑]
看到你添加的输出后,我得出结论,需要引用post_type
。
love_it(4,16,comment,1)
应该
love_it(4,16,'comment',1)
所以代码应该是:
<button id=\"f_love_it_{$type}_{$currant_id}\" class=\"btn btn-primary\" onclick=\"love_it({$_SESSION['user_id']},{$currant_id},'{$type}',{$post["user_id"]})\">I Love It!
注释是变量还是实际的字符串?
onclick="love_it(4,16,comment,1)"
如果它是一个变量它是正确的,如果它是一个字符串,那么你缺少引号使它成为一个字符串。
onclick="love_it(4,16,'comment',1)"
现在是“评论”中有一个“或”,它会失败。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.