JavaScript工作正常在IE,Firefox和Opera中,但在Safari或Chrome中没有(Textbox.value)

时间:2012-06-20 20:47:37

标签: javascript google-chrome safari

每次用户选择我的网页上的登录按钮时,都会执行以下JavaScript代码,该功能基本上确保usernamepassword字段已收到文本(然后删除任何潜在客户或尾随空格)然后将浏览器重定向到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;

1 个答案:

答案 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;

编辑:也改为传递给密码