好的,所以我正在为登录类型表单执行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!");
}
}
当我按下提交按钮时,它会直接转到页面,而不是检查是否正确。请帮忙! 先谢谢你! 告诉您这不是永久登录网页!
答案 0 :(得分:3)
执行此操作的简便方法是使用button
输入:
<input type="button" value="Check" onclick = "submit1();" />
另一种方法是通过使处理程序返回submit
来防止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;
}
}
答案 1 :(得分: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>
答案 2 :(得分:1)
事件需要取消默认事件并返回false。这将阻止表单提交。
但是,如果表单仍然提交,那么它应该是一个非问题,因为JavaScript不可信,因此你必须验证服务器端的所有输入。
答案 3 :(得分: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检查登录/密码什么不是最好的想法(任何人都可以查看源代码并阅读它)