<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery Validate 插件 - 与表单(Form)插件的交互(AJAX 提交)</title>
<link rel="stylesheet" type="text/css" media="screen" href="http://jquery.bassistance.de/validate/demo/css/screen.css">
<style type="text/css">
.warning { color: red; }
</style>
<script src="http://jquery.bassistance.de/validate/lib/jquery.js"></script>
<script src="http://jquery.bassistance.de/validate/lib/jquery.mockjax.js"></script>
<script src="http://jquery.bassistance.de/validate/lib/jquery.form.js"></script>
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script type="text/javascript">
jQuery(function() {
$.mockjax({
url: "login.action",
response: function(settings) {
var user = settings.data.match( /user=(.+?)($|&)/ )[ 1 ],
password = settings.data.match( /password=(.+?)($|&)/ )[ 1 ];
if ( password !== "foobar" ) {
this.responseText = "您的密码是错误的(必须是 foobar)。";
return;
}
this.responseText = "您好 " + user + ",欢迎回来。";
},
responseStatus: 200,
responseTime: 500
});
// 显示一个简单的加载指示器
var loader = jQuery('<div id="loader"><img src="/try/jquery/plugins/static/images/loading.gif" alt="loading..." /></div>')
.css({position: "relative", top: "1em", left: "25em", display: "inline"})
.appendTo("body")
.hide();
jQuery().ajaxStart(function() {
loader.show();
}).ajaxStop(function() {
loader.hide();
}).ajaxError(function(a, b, e) {
throw e;
});
var v = jQuery("#form").validate({
submitHandler: function(form) {
jQuery(form).ajaxSubmit({
target: "#result"
});
}
});
jQuery("#reset").click(function() {
v.resetForm();
});
});
</script>
</head>
<body>
<div id="main">
<form method="post" class="cmxform" id="form" action="login.action">
<fieldset>
<legend>登录表单(输入 "foobar" 作为密码)</legend>
<p>
<label for="user">用户名</label>
<input id="user" name="user" title="请输入您的用户名(至少 3 个字符)" class="required" minlength="3">
</p>
<p>
<label for="pass">密码</label>
<input type="password" name="password" id="password" class="required" minlength>
</p>
<p>
<input class="submit" type="submit" value="登录">
</p>
</fieldset>
</form>
<div id="result" class="warning">请登录!</div>
<br>
<button id="reset">重置上面的表单!</button>
</div>
</body>
</html>