我想用jQuery显示一个错误,还没有错误检查,但我只是想了解更多有关jQuery的信息,似乎我无法使用它。
因此,我想在按下提交按钮时显示错误。我试过,使用jquery设置可见性,可见onclick和事先看不见但是它没有用。它显示了一秒钟,然后消失了。如何在下次提交按钮之前将其显示在那里?
<form id="quick-register" action="">
Username: <input type="text" name="quick-username"> <br>
<span id="quick-user-wrong">Wrong Username (a-z, A-Z, 0-9)</span>
Password: <input type="password" name="quick-password"> <br>
<span id="quick-pass-wrong">Wrong Password</span>
Repeat Password: <input type="password" name="quick-password2"> <br>
<span id="quick-pass2-wrong">Password doesn't match</span>
E-mail: <input type="email" name="quick-email"> <br>
<span id="quick-email-wrong">Invalid E-mail Address</span>
<button id="quick-submit">Register</button>
</form>
的jQuery
$(function () {
$("#quick-submit").one("click", function () {
$("#quick-user-wrong").css("visibility", "visible");
});
});
答案 0 :(得分:0)
当您提交表单时,页面会在之后重新加载(除非您使用的是AJAX) 由于这次重新加载,错误只显示了一下。 在你的jQuery代码中
$("form").on('submit', function(evt){
//if form errors
evt.preventDefault();
//showerror
//else do nothing
});
这将阻止提交页面,因此错误将显示并保持显示
用户可以更改错误,然后再次单击“提交”按钮。
答案 1 :(得分:0)
您可以创建一个将在表单提交时触发的事件侦听器,您可以在以后取消并提交。
$( "#quick-register" ).submit(function( e ) {
//cancel submission
e.preventDefault();
// .... your error handling/etc ...
if(noerror){
//submit form later
$(this).unbind("submit").submit();
}
});
目前的问题是表单正在提交。这会导致页面刷新,这就是为什么你只能看到你的javascript工作一小段时间。