1

フォームにパスワードを設定しようとしています。私は基本的に誰かがパスワード フィールドにパスワードを入力して送信を押してほしいと思っています。パスワードが正しければ、同じウィンドウで buybutton.php にリダイレクトされます。パスワードが正しくない場合、「パスワードが間違っています」という JavaScript アラートがポップアップ表示されます。Javascript を書き出そうとしましたが、ボタンをクリックしても何も起こりません。以下のコードで何が間違っていますか? 助けてくれてありがとう!

<!DOCTYPE html>
<body width="950" height="300" style="background-image:url('giftcard_bg.jpg');">
<head>
<SCRIPT LANGUAGE="JavaScript">
    function goForit() {
      var passwd;
      passwd = this.document.giftForm.pass.value;
      if(passwd=="samsamsam"){
      window.open ('buybutton.php','_self',false)
      }
      else{
      alert('Password wrong');
      }
    }
</SCRIPT>
</head>


<div style="position:absolute; top:150px; left:285px; text-align:center;">
    <form id="giftForm">        
        <input type="password" id="pass" placeholder="Enter Secret Code" style="font-size:150%;"/>
        <br />
        <input type="button" onClick="goForit()" value="Submit" style="font-size:150%; margin-top:15px;" />                 
     </form>
</div>

</body>
</html>
4

4 に答える 4

3

document.getElementById('pass').value代わりに使用する必要がありますthis.document.giftForm.pass.value

function goForit() {
  var passwd;
  passwd = document.getElementById('pass').value;
  if(passwd=="samsamsam"){
  window.open ('buybutton.php','_self',false)
  }
  else{
  alert('Password wrong');
  }
}

警告の言葉:

しかし、注意してください!誰でもソースコードを見てパスワードを見つけることができます!!!

この代わりに、フォームをサーバーに送信し、サーバー側でフォームが正しいかどうかを確認する必要があります。正しい場合は、ユーザーを buybutton.php にリダイレクトしますが、そのページへのアクセスを許可する Cookie を送信します。そして、そのページは、彼がその Cookie を持っているかどうかを確認する必要があります。

しかし、私は専門家ではありません。必要な場合は、別の質問をしてください。

于 2012-08-16T17:25:07.313 に答える
1
passwd = this.document.giftForm.pass.value; 

エラーが発生します

passwd = document.getElementById('pass').value;

;window.open の後にも欠落していました('buybutton.php','_self',false)

于 2012-08-16T17:31:41.127 に答える
0

Oriol と Rajeev の答えは正しいです。

または、これを行うことができます:

変化する

passwd = this.document.giftForm.pass.value;

passwd = document.forms['giftForm'].pass.value;
于 2012-08-16T17:30:09.037 に答える
0

これはうまくいくはずです

function goForit() {
      var passwd = document.getElementById("pass").value;
      if(passwd=="samsamsam"){
      window.open ('buybutton.php','_self',false)
      }
      else{
      alert('Password wrong');
      }
    }
于 2012-08-16T17:27:45.717 に答える