我正在使用.load函数,我遇到了一些麻烦:
<form id="register_frm" method="post" action = "/login/register/">
<fieldset>
<legend>New User:</legend>
<div>
<label for="id_email">Email</label>
<input id="id_email" type="text" name="email" maxlength="30" />
</div>
<div>
<label for="id_conf_email">Confirm Email</label>
<input id="id_conf_email" type="text" name="conf_email" maxlength="30" />
</div>
</fieldset>
<input name = "register" type="submit" value="Register" />
</form>
我正在尝试编写一个.load脚本,如果2个电子邮件地址匹配,将显示成功方法。
function register_js() {
$('#register_frm').load('/register/confirm');
return false;
}
$(document).ready(function () {
('#register_frm').submit(register_js);
});
.load
提交post
请求而不是get
?.load
提交电子邮件和conf_email字段,以便我可以在服务器端验证它们?答案 0 :(得分:1)
您不想使用load
来使用post
。
$(document).ready(function () {
$('#register_frm').submit(function() {
var $form = $(this);
// if you want to get the url from the action use
// var url = $form.attr('action');
var url = '/register/confirm';
$.post( url, $form.serialize(), function(html) {
$form(html);
});
return false;
});
});
请注意,如果您未重复使用评论中所述的$form
变量,则只需在$(this).serialize()
的参数中使用post
。