我的表单存在此问题,一旦提交,您将收到错误消息,如果您没有填写任何字段。 我希望用户在看到错误消息后可以选择退回表单,并可以选择重新填充表单。 我觉得我可以清楚地解释一下,亲自检查一下:www.insead4sq.com
<form method="post" action="default.asp?Process=add" id="SIGNUPFORM"><a href="#" name="signup"></a>
<fieldset>
<p>
<label>Name</label>
<input type="text" name="FIRSTNAME" id="FIRSTNAME" size="55" value="" />
</p>
<p>
<label>Surname</label>
<input type="text" name="LASTNAME" id="LASTNAME" size="55" value="" />
</p>
<p>
<label>Email Address</label>
<input type="text" name="EMAILADDRESS" id="EMAILADDRESS" size="55" value="" />
</p>
<p>
<label>Password</label>
<input type="password" name="PASSWORD" id="PASSWORD" size="55" value="" />
</p>
<p>
<label>Hometown</label>
<input type="text" name="CITY" id="CITY" size="55" value="" />
</p>
<p>
<input type="button" name="signup" value="Sign Up" class="submit" />
</p>
</fieldset>
</form>
<script type="text/javascript">
$(document).ready(function() {
$("[name='signup']").click(function() {
$.ajax({
type: "POST",
data: $("#SIGNUPFORM").serialize(),
url: "default.asp?Process=add",
success: function(output) {
$('#SIGNUPFORM').html(output)
},
error: function(output) {
$('#SIGNUPFORM').html(output);
}
});
});
$(function update() {
$.ajax({
type: "GET",
url: 'default.cs.asp?Process=TotalMembers',
timeout: 2000,
success: function(data) {
$(".totalmembers").html(data);
window.setTimeout(update, 5000);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
$(".totalmembers").html('.');
window.setTimeout(update, 60000);
}
});
});
});
</script>
答案 0 :(得分:0)
使用预先制作的JQuery Validate会不会更容易?是动态验证,并在字段中添加一个类“错误”,以便您可以 - 例如 - 更改CSS。
答案 1 :(得分:0)
假设出现错误,您将返回文本错误消息,请尝试此操作。
首先,将div
添加到页面加载时不可见的页面:
<div id="errorMessage" style="display: none"></div>
然后更改您的error
处理程序以在其中显示上面的错误消息,而不是删除您的表单:
error: function(output) {
$('#errorMessage').html(output).show();
}
答案 2 :(得分:0)
不是最好的做事方式。但是如果你想让它按原样运行,可以改变你的错误函数,使其包含如下所示的内容。
$('#SIGNUPFORM').prepend($('<div></div>').attr({id:'dynamicResponse'}).append(output))