我正在创建一个登录表单,如果有任何输入错误,那么我想留在同一页面并通知客户输入正确的输入 我想留在此页http://localhost:8080/loginpage/,但每次点击后我都会被重定向到http://localhost:8080/loginpage/?UserName=UserName&pword=&ConfirmPassword=&Email=Email&FirstName=First+Name&LastName=Last+Name&cars=male&Signup=Signup。
我已为此编写了一个代码,但似乎无效。
if(t!==0)
{
var er="Email-id already exists";
window.location.reload(false);
document.getElementById("nemail").value=er;
document.getElementById("username").value=username;
document.getElementById("pword").value="";
document.getElementById("confpwd").value="";
document.getElementById("fname").value=fname;
document.getElementById("lname").value=lname;
document.getElementById("gender").value=gender;
}
我尝试过使用其他几种方法,比如
window.location.replace('/loginpage/');
window.location.href="/loginpage/index.html";
但它们都不起作用。 请帮忙!
答案 0 :(得分:1)
有两种方法可以阻止表单提交。
event.preventDefault()
。<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2>1 way to prevent form to submit via onclick attribute</h2>
<form action="#submit-from-1-way" onsubmit="return validate(this)"><!--set onsubmit="return false"-->
<input name="value"/>
<button type="submit">Submit</button>
</form>
<h2>2 way to prevent form to submit via submit event</h2>
<form id="form" action="#submit-from-2-way"><!--set onsubmit="return false"-->
<input name="value"/>
<button type="submit">Submit</button>
</form>
<script>
console.log(location.href+'#'+location.hash+'?'+location.search);
function validate(form) {
return $(form).find('input').val();
}
$('#form').submit(function (e) {
if (!validate(this)) e.preventDefault();
});
</script>
;
{{1}}&#13;
答案 1 :(得分:0)
您可以对给定html对象的click事件使用preventDefault()。这将阻止浏览器对特定HTML对象执行默认操作。
例如,以阻止链接上的actoin:
<body>
<a href="http://www.google.com" id="clickMe">Click Me</a>
<script>
function dontGo(event) {
event.preventDefault();
}
document.getElementById("clickMe").addEventListener("click",dontGo);
</script>
</body>