有趣。我有2个链接调用2个JS函数-第一个起作用,第二个不起作用。仅当参数为空时才调用函数addns()。否则不...
PHP:
while ($row_mem = mysqli_fetch_array($mem)) {
$membs[] = $row_mem['username'];
$membs_id[] = $row_mem['user_id'];
}
}
//FIRST FOREACH CALL PROPERLY
foreach($membs_id as $val_id) {
echo"<a href='javascript:addms($val_id)'><img src='$pcheck' width='66' height='68'
border='1' class='currmem'/></a> ";
}
//THIS ONE DOESN'T
foreach($membs as $mes_id) {
echo"<a href='javascript:addns($mes_id)'>$mes_id</a> ";
}
JS:
function addms(msid) {
var addm = msid;
alert(addm);
}
function addns(nsid) {
var addn = nsid;
alert(addn);
}
我看不到任何错误-感谢您的评论!
最佳答案
更新以匹配新答案:
您需要在变量周围加上引号。 ($val_id)
可能有效,因为您正在检索一个我猜是整数的id,因此它是有效的JavaScript文字。($mes_id)
可能不起作用,因为您返回的是字符串,但没有用引号引起来,因此它们不是有效的JavaScript文字。
所以用户名将是joe和shmoe,javascript becoemsaddns(joe)
和addns(shmoe)
,可能不是您想要的。您需要addns("joe")
和addns("shmoe")
。
另请注意,一旦用户修复,这是一个XSS漏洞,如果用户可以选择其用户名。