1

我一直在尝试使用 enter 键登录到离线 HTML/CSS 页面,但无法使用我确定需要的 JavaScript 启动。

但是当我单击我创建的登录按钮时可以使用鼠标登录..

如何使用回车键来登录?

这是我为凭证测试硬编码的javascript,它使用鼠标单击工作。我想要它作为输入键。谢谢。

<!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

使用提交事件处理程序。元素上的单击处理程序仅在您单击它时才会触发。您要做的是提交表单,但使用 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给了函数。这会将元素本身(在本例中为表单元素)传递给函数。如前所述,您需要 return false。在某些浏览器中,我已更改formfrmasform是全局定义的变量。

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 回答