我有一个 3 单独输入的表单,其类型为"提交"。
前两个输入在单击后输出一条消息,但最后一个输入应该重定向到另一个页面,但它不会这样做。 我认为这是因为表单在进入JavaScript重定向之前提交并刷新页面。
这是我的代码:
form.php的
<form class="form" id="form" method="POST" enctype="application/x-www-form-urlencoded">
<br>
<input type="email" name="email" id="email" maxlength="80" value="<?php echo $email ?>" placeholder="Enter Your Email" /><br /><br>
<input id="button4" type="submit" value="Get Security Question" name="submit2" style="cursor:pointer;"/><br>
<br><input type="password" name="securitya"id="securitya" maxlength="20" value="<?php echo $securitya ?>" placeholder="Enter Your Security Answer" /> <br />
<br>
<input id="button3"type="submit" value="Check Answer" name="submit" style="cursor:pointer;"/>
<br>
<br><input type="password" name="newpassword" id="newpassword" maxlength="20" placeholder="Enter Your New Password" /> <br />
<br><input type="password" name="confirmpassword" id="confirmpassword" maxlength="20" placeholder="Re-Enter Your New Password" /> <br />
<br>
<input id="button2" type="submit" value="Change Password" disabled="disabled" name="submit" style="cursor:pointer;"/>
的JavaScript
jQuery(function(){
$("#button2").click(function(){
$(".error").hide();
var hasError = false;
var passwordVal = $("#newpassword").val();
var checkVal = $("#confirmpassword").val();
if (passwordVal == '') {
$("#newpassword").after('<span class="error" >Please enter a password.</span>');
hasError = true;
} else if (checkVal == '') {
$("#confirmpassword").after('<span class="error">Please re-enter your password.</span>');
hasError = true;
} else if (passwordVal != checkVal ) {
$("#confirmpassword").after('<span id = "pass" class="error">Passwords do not match.</span>');
hasError = true;
}
if(hasError == true) { return false; }
else {
$("#button2").after('<span class="error">Passwords accepted.</span>');
window.location.href='adminsignin.php';
}
});
});
奇怪的是,接受的密码&#39;密码被接受&#39;屏幕上出现一瞬间,但没有重定向到&#39; adminsignin.php&#39;
有人可以帮忙吗?
答案 0 :(得分:2)
在您的javascript中,将事件传递给点击处理程序,并阻止默认()。
$("#butotn2").click(function(e) {
e.preventDefault();
...
}
提交按钮具有默认行为,因此您需要阻止其默认行为,以便您可以执行操作,然后使用window.location.href重定向。
请尝试更改为document.location = 'your URL';