当密码不正确时,此密码表单的行为与预期的一样,但是当密码正确时,则按键盘上的ENTER键不会提交该表单。
这是JavaScript:
function TheLogin() {
var password = 'beyond';
if (this.document.login.pass.value == password) {
top.location.href = "streettherapy224984.html";
} else {
window.alert("INCORRECT PASSWORD. ACCESS DENIED.");
}
}
function forceLower(strInput) {
strInput.value = strInput.value.toLowerCase();
}
<form name="login" style="margin: 5px 0px 0px 0px;">
<input class="main" type="text" name="pass" size="64" onkeydown="if(event.keyCode==13) document.getElementById('codebtn').click()" style="width: 230px;" onkeyup="return forceLower(this);"><br>
<div id="spacer20"></div>
<input class="main" type="button" id="codebtn" value="Submit" onclick="javascript:TheLogin(this.form)">
</form>
我完全迷路了,因此非常感谢您解决此问题!
答案 0 :(得分:0)
您在这里遇到多个问题:
原样
1. <form ... onsubmit="TheLogin()">
2. <input ... type="submit" id="codebtn"...>
删除“ pass”输入上的任何按键,键入“ submit”将触发“ onsubmit”功能,因此登录
function TheLogin() {
var password = 'beyond';
if (this.document.login.pass.value == password) {
window.location.href = "http://www.tanatu.com/streettherapy224984.html";
} else {
alert("INCORRECT PASSWORD. ACCESS DENIED.");
}
}
function forceLower(strInput) {
strInput.value = strInput.value.toLowerCase();
}
form {margin: 5px 0px 0px 0px;}
#pass {width: 230px;}
<form name="login" onsubmit="TheLogin()">
<input class="main" type="text" id="pass" onkeyup="return forceLower(this);">
<hr>
<input class="main" type="submit" id="codebtn" value="Submit">
</form>
也
如果要模拟点击链接,请使用
location.href = URL
如果要模拟HTTP重定向,请使用
location.replace(URL)
答案 1 :(得分:-1)
<form name="login" method="post" action="javascript:TheLogin(this.form)" style="margin: 5px 0px 0px 0px;">
<input class="main" type="text" name="pass" size="64" style="width: 230px;" ><br>
<div id="spacer20"></div>
<input class="main" type="button" id="codebtn" value="Submit" onclick="javascript:TheLogin(this.form)">
</form>
因为它们都是形式,所以我们不需要设置键盘交互触发器。所有的交互都是通过表单来处理的,即使您按回车键,也不会发送onkeydown信息。除了输入类型按钮外,对于按钮,我们保留onClick的登录功能以使其提交。在javascript中,我们可以将preventDefault设置为处理表单,使其不自动提交。
这是一个简短的解释。希望你能理解。