Jquery 收回表格
我的表单有一个问题,一旦提交,如果您没有填写任何字段,您将收到一条错误消息。 我希望用户可以选择在看到错误消息后返回表单,并可以选择重新填充表单。 我觉得我可以解释清楚,自己检查一下:www.insead4sq.comJquery 收回表格,jquery,Jquery,我的表单有一个问题,一旦提交,如果您没有填写任何字段,您将收到一条错误消息。 我希望用户可以选择在看到错误消息后返回表单,并可以选择重新填充表单。 我觉得我可以解释清楚,自己检查一下:www.insead4sq.com <form method="post" action="default.asp?Process=add" id="SIGNUPFORM"><a href="#" name="signup"></a>
<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>
名称
姓
电子邮件地址
密码
家乡
$(文档).ready(函数(){
$(“[name='signup']”)。单击(函数(){
$.ajax({
类型:“POST”,
数据:$(“#注册表单”).serialize(),
url:“default.asp?Process=add”,
成功:函数(输出){
$('#SIGNUPFORM').html(输出)
},
错误:函数(输出){
$('#SIGNUPFORM').html(输出);
}
});
});
$(函数更新(){
$.ajax({
键入:“获取”,
url:'default.cs.asp?进程=TotalMembers',
超时时间:2000,
成功:功能(数据){
$(“.totalmembers”).html(数据);
设置超时(更新,5000);
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
$(“.totalmembers”).html(“.”);
设置超时(更新,60000);
}
});
});
});
使用预制的不是更容易吗?Is进行动态验证,并向字段中添加一个类“error”,以便您可以(例如)更改css。如果您返回的是文本错误消息,请尝试此操作
首先,向页面加载时不可见的页面添加div
:
<div id="errorMessage" style="display: none"></div>
这不是最好的做事方式。但是,如果您想让它按原样工作,请更改error函数以包含如下内容
$('#SIGNUPFORM').prepend($('<div></div>').attr({id:'dynamicResponse'}).append(output))
$('#SIGNUPFORM').prepend($('').attr({id:'dynamicResponse'}).append(输出))
$(“[name='signup']”)
-真正使用类。您所做的工作非常慢,因为它需要迭代文档中的每个元素。只是尝试了一下,但这不起作用,因为jquery也认为错误消息是成功的。在这种情况下,output
的哪一部分让您知道是否有问题?我将代码发送到另一个页面,在那里您会得到错误或成功消息(default.cs.asp?Process=Add2Member)。您需要检查返回的数据,output
,以查看请求是否成功。如果成功,则隐藏表单。如果未成功,则显示错误消息并保持表单不变。
$('#SIGNUPFORM').prepend($('<div></div>').attr({id:'dynamicResponse'}).append(output))