每次用户选择我的网页上的登录按钮时,都会执行以下JavaScript代码,该功能基本上确保username
和password
字段已收到文本(然后删除任何潜在客户或尾随空格)然后将浏览器重定向到php登录脚本。该代码在IE,Firefox和Opera中完美运行,但在Safari和Chrome中却没有。
在Safari和Chrome中,文本框值为undefined
。其他浏览器会返回完全键入的值。
var button;
var name;
var pass;
function logIn()
{
name.value = name.value.replace(/^\s+|\s+$/g,"");
pass.value = pass.value.replace(/^\s+|\s+$/g,"");
if(name.value == "")
{
alert("Please Enter A Username");
}
else if(pass.value == "")
{
alert("Please Enter A Password");
}
else
{
window.location.href = "loginScript.php?username=" + name.value + "&password=" + pass.value;
}
}
function onLoad()
{
button = document.getElementById('button');
name = document.getElementById('username');
pass = document.getElementById('password');
button.onclick = logIn;
}
window.onload = onLoad;
答案 0 :(得分:2)
我相信您使用的变量name是Chrome中的保留关键字。
尝试将name变量更改为username。
var button;
var username;
var password;
function logIn()
{
username.value = username.value.replace(/^\s+|\s+$/g,"");
pass.value = pass.value.replace(/^\s+|\s+$/g,"");
if(username.value == "")
{
alert("Please Enter A Username");
}
else if(password.value == "")
{
alert("Please Enter A Password");
}
else
{
window.location.href = "loginScript.php?username=" + username.value + "&password=" + password.value;
}
}
function onLoad()
{
button = document.getElementById('button');
username = document.getElementById('username');
password= document.getElementById('password');
button.onclick = logIn;
}
window.onload = onLoad;
编辑:也改为传递给密码