0

以下の JavaScript コードは、ユーザーが Web ページのログイン ボタンを選択するたびに実行されます。この関数は、基本的に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;
4

1 に答える 1

2

使用している変数 name は Chrome の予約済みキーワードだと思います。

name 変数をユーザー名などに変更してみてください。

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;

編集:パスもパスワードに変更

于 2012-06-20T20:59:25.453 に答える