-2

わかりましたので、ログイン タイプ フォームの JavaScript コードを実行しています。これにより、新しいページが表示されます。ここにあります:

function submit1()
{
    var x=document.getElementById("username");
    var y=document.getElementById("password");
    if (x.value=="username" && y.value=="password")
    {
        window.location="Example.php";
    }
    else
    {
        window.alert=("The information you have submitted is incorrect and needs to be submitted again!");
    }
}

送信ボタンを押すたびに、正しいかどうかを確認する代わりに、ページに直接移動します。助けてください!よろしくお願いします!これは永続的なログイン ページではありません。

4

4 に答える 4

3

これを行う簡単な方法は、button入力を使用することです。

<input type="button" value="Check" onclick = "submit1();" />

submit別の方法は、ハンドラーを return にすることで、入力型のこの既定の動作を防ぐことですfalse。HTML は次のようになります。

<input type="submit" value="Check" onclick = "return submit1();" />

関数をうまく変更する必要があります(リダイレクトしないようにしたいという事実を考慮して)。入力されたデータを保存したいと思っているので、window.locationリダイレクトには使用しません。代わりに、フォームの送信を許可します。

function submit1()
{
    var x=document.getElementById("username");
    var y=document.getElementById("password");
    if (x.value == "username" && y.value == "password") {
        window.alert=("The information you have submitted is incorrect and needs to be submitted again!");
        return false;
    }
}
于 2012-12-08T16:16:57.377 に答える
2
<html>
<head>
<title>
Login page
</title>
</head>
<body>
<h1 style="font-family:Comic Sans Ms;text-align="center";font-size:20pt;
color:#00FF00;>
Simple Login Page
</h1>
<form name="login">
Username<input type="text" name="userid"/>
Password<input type="password" name="pswrd"/>
<input type="button" onclick="check(this.form)" value="Login"/>
<input type="reset" value="Cancel"/>
</form>
<script language="javascript">
function check(form)/*function to check userid & password*/
{
 /*the following code checkes whether the entered userid and password are matching*/
 if(form.userid.value == "myuserid" && form.pswrd.value == "mypswrd")
  {
     window.location="Example.php"; /*opens the target page while Id & password matches*/
  }
 else
 {
   alert("Error Password or Username")/*displays error message*/
  }
}
</script>
</body>
</html>
于 2012-12-08T16:21:38.240 に答える
1

イベントは、デフォルト イベントをキャンセルして false を返す必要があります。これにより、フォームが送信されなくなります。

ただし、JavaScript は信頼できないため、すべての入力をサーバー側で検証する必要があるため、フォームが送信されても​​問題にはなりません。

于 2012-12-08T16:23:51.373 に答える
1
<form method="post" action="." id="myform">
 <!-- form contents --->
</form>    
<script type="text/javascript">
(function () {
    var f = document.getElementById('myform'), // get your form element
        x = document.getElementById('username'),
        y = document.getElementById('password'),
        handler;
    handler = function (e) {
        e.preventDefault(); // stop submit
        if (x.value=='username' && y.value=='password') {
            window.location = 'Example.php';
        } else {
            window.alert('The information...');
        }
    };
    // listen to submit event
    if ('addEventListener' in f) {
        f.addEventListener('submit', handler, false);
    } else { // handle also IE...
        f.attachEvent('submit', function () {
            handler(window.event);
        });
    }
}());
</script>

とにかく、あなたはJSからログイン/パスワードをチェックしようとしているようです.

于 2012-12-08T16:26:56.667 に答える