我有这个功能,我用PHP调用它onClick =“login_f('。$ return。')” 但在Firefox中它给我一个错误“javascript缺失”后参数列表“ 有什么帮助吗?
function login_f(return_v){
email = document.login.email.value;
email2 = document.login.email2.value;
if(email == "" || email2 == ""){
if(readCookie("lang") == "it_IT")
msg('<span style="color:#D90909">Compila tutti i campi!</span>');
else
msg('<span style="color:#D90909">Fill in all fields!</span>');
}
else if(email != email2){
if(readCookie("lang") == "it_IT")
msg('<span style="color:#D90909">Le email non coincidono!</span>');
else
msg('<span style="color:#D90909">The emails do not match!</span>');
}
else{
var date = new Date();
date.setTime(date.getTime() + (365*24*60*60*1000));
var expires = "; expires=" + date.toGMTString();
document.cookie = "email=" + email + expires + "; path=/sbm/";
if(return_v == "" || return_v == null)
window.location.href = "http://www.xriuk.com/sbm/";
else
window.location.href = return_v;
}
}
答案 0 :(得分:1)
看起来(基于它的使用位置)$return
(因此return_v
)是一个字符串。
如果是这种情况,则需要围绕它进行引用。
我强烈建议使用json_encode
嵌入任何类型的变量,尤其是因为它极大地有助于防止XSS。
所以你的PHP变成了:
echo '...... onClick="login_f('.htmlspecialchars(json_encode($return),ENT_QUOTES)."');"....';
答案 1 :(得分:0)
echo '<a ... onClick="login_f(\''.$return.'\')">....</a>';