关于.load jQuery函数的问题

时间:2011-03-19 12:19:13

标签: django jquery

我正在使用.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);
    });
  1. 如何更改代码,以便.load提交post请求而不是get
  2. 当我覆盖注册按钮时,如何让.load提交电子邮件和conf_email字段,以便我可以在服务器端验证它们?

1 个答案:

答案 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