1

Enter キーを使用してオフラインの HTML/CSS ページにログインしようとしていますが、確かに必要な JavaScript で開始できません。

しかし、作成したログインボタンをクリックすると、マウスを使用してログインできます..

Enter キー ストロークを使用してログインするにはどうすればよいですか?

これは、マウス クリックを使用して機能する資格情報テスト用にハード コードした JavaScript です。Enter キーに使用したいのですが、ありがとうございます。

<!DOCTYPE HTML>
<html>
<head>
<title>
Login page
</title>
</head>
<body>
<div align="center">
<div id="bor">

<h1>
   Login Page
</h1>

<div>
<form name="login">
&nbsp<input type="text" placeholder="Enter the Username" name="user"/> <br />
 <input type="password" placeholder="Enter the Password" name="pwd"/><br /><br />
 <input type="checkbox" name="en" value="en" />Remember Me<br>
<input type="button" onclick="check(this.form)" value="Login"/>
<input type="reset" value="Cancel"/>
</form>
</div>


<script language="javascript">
function check(form)
{
   if(form.user.value == "user" && form.pwd.value == "pwd")
   {
       window.open('inbox.html','_self')
   }
   else
   {
       alert("Error Password or Username")
   }
}
</script>
4

1 に答える 1

1

submit イベント ハンドラを使用します。要素のクリック ハンドラは、要素をクリックした場合にのみ起動します。あなたがやろうとしているのは、フォームを送信することですが、サーバーではなくJavaScriptでフォームを処理しています。それを動的にバインドすることをお勧めしますが、ここではすべての JavaScript がインラインになっているため、インラインで例を示します。

送信イベント ハンドラーをフォーム要素にアタッチする必要があります。インラインで実行すると、onsubmit="..."代わりにこれが機能します。リターンは、フォームがサーバーに送信されるのを防止/許可するためにあります。関数が「true」を返す場合、フォームはサーバーに送信されます。関数が「false」を返す場合、フォームは送信されません。また、送信ボタンのタイプを に変更する必要がありますsubmit。これにより、そのボタンがクリックされた場合にフォームを送信するようにブラウザーに指示します。または、入力フィールドで Enter キーを押すと、ブラウザーはこれをフォームの送信と見なします。

<form name="login" onsubmit="return check(this)">
&nbsp<input type="text" placeholder="Enter the Username" name="user"/> <br />
  <input type="password" placeholder="Enter the Password" name="pwd"/><br/><br/>
  <input type="checkbox" name="en" value="en" />Remember Me<br>
  <input type="submit" value="Login"/>
  <input type="reset" value="Cancel"/>
</form>

その背後にある JavaScript はほとんど同じままです。this関数に渡したことに気付くでしょう。これにより、要素自体 (この場合はフォーム要素) が関数に渡されます。前に言ったように、あなたは戻る必要がありますfalse。一部のブラウザではグローバルに定義された変数であるasに変更formしました。frmform

function check(frm)
{
   if(frm.user.value == "user" && frm.pwd.value == "pwd")
   {
       window.open('inbox.html','_self')
   }
   else
   {
       alert("Error Password or Username")
   }

   return false;
}

jsfiddle の例: http://jsfiddle.net/AS5t5/

于 2013-10-22T09:16:15.650 に答える