根据值jquery保持页面

时间:2013-11-27 09:27:42

标签: javascript jquery ajax forms

如果登录(data.login != 1)不正确,我想留在同一页面上,我尝试使用preventDefault,但这不起作用。任何人都可以帮助我吗?

$(document).on('submit', '#login', function(e) {
    var form = $(this);
    var url = form.attr('action');

    $.ajax({
        type: "POST",
        url: url,
        data: $(form).serialize(),
        dataType: 'json',
        success: function(data) {
            if (data.login === 1) {
                $.mobile.changePage("<?php echo site_url('redirect/overview'); ?>");
            } else {
                e.preventDefault();
            }
         }
     });
 });

1 个答案:

答案 0 :(得分:1)

success呼叫之前,我们会在asyn收到ajax呼叫结果之前提交该页面,您可以在ajax呼叫之前e.preventDefault()并呼叫submit成功。

$(document).on('submit', '#login', function(e) {         
        e.preventDefault();
        var form = $(this);            
        var url = form.attr('action');
        $.ajax({
            type: "POST",
            url: url,
            data: $(form).serialize(),
            dataType: 'json',
            success: function(data) {
                if (data.login === 1) {
                    $.mobile.changePage("<?php echo site_url('redirect/overview'); ?>");
                }
                else {
                    $('#submitButtonId')[0].submit();
                }
            }
        });
  });
相关问题