jQuery对话框和表单提交时的ajax登录

jQuery对话框和表单提交时的ajax登录,jquery,forms,login,dialog,submit,Jquery,Forms,Login,Dialog,Submit,下面是使用CodeIgniter的场景:(如果问题格式不正确,我很抱歉,这是我在这里的第一篇帖子。) 我有一个大的表单要提交,在验证之后,它可以用ajax提交 在我的控制器中,如果用户已登录,我将在视图中传递用户名,并将其放置在表单中的隐藏输入字段中。如果用户未登录,则结果为 3.在我的javascript中,我检查表单是否有效()以及用户名是否正确==“”然后我用ajax发布表单,否则我会弹出一个带有登录页面的对话框。当用户登录时,表单提交工作正常 问题是,在用户登录到登录对话框后,我无法确

下面是使用CodeIgniter的场景:(如果问题格式不正确,我很抱歉,这是我在这里的第一篇帖子。)

  • 我有一个大的表单要提交,在验证之后,它可以用ajax提交
  • 在我的控制器中,如果用户已登录,我将在视图中传递用户名,并将其放置在表单中的隐藏输入字段中。如果用户未登录,则结果为
  • 3.在我的javascript中,我检查表单是否有效()以及用户名是否正确==“”然后我用ajax发布表单,否则我会弹出一个带有登录页面的对话框。当用户登录时,表单提交工作正常

    问题是,在用户登录到登录对话框后,我无法确定如何发布表单

    下面是代码:

        $('#MyForm').submit(function(event){
         event.preventDefault();
    
    
         var username=document.getElementById('loggedin').value;
         if($('#MyForm').valid() && username!=="" ){
         var serializeddata=$("#MyForm").serialize();
    
    
    
          $.ajax({
        type: "POST",
        url: "formsubmition", // The urls are in CI format
        contentType: "application/x-www-form-urlencoded;charset=UTF-8",
    
        data: serializeddata,
        dataType: "html",
        success: function(data) {
            $('#message_ajax_anaz').html(data);
                        }
                    })
    
    
    
    
         }else if($('#MyForm').valid() && username==""){
    
          $("#loginpop").load("login").dialog();
    
    
         } 
         });
    
    登录页面ajax代码:

    $('#login').submit(function(event){
         event.preventDefault();
    
         var dataser=$('#login').serialize();
          $.ajax({
        type: "POST",
        url: "login",
        contentType: "application/x-www-form-urlencoded;charset=UTF-8",
    
        data: dataser,
        dataType: "html",
        success: function(data) {
            $('#message_ajax').html(data);
                        }
                    })
    
    而且上面的对话框工作正常,我可以正常登录

    现在如何返回$('#MyForm').submit(函数) 用户现在已登录,也无需再次填写表单

    刚刚想出一个办法 我希望它能帮助更多的人

    我在提交函数外初始化了对话框:

        $("#loginpop").load("login").dialog({
            autoOpen:false
        })
    
    然后在我的else语句中:

        else if($('#MyForm').valid() && username==""){
    
      $("#loginpop").dialog('open');
    
    在我的登录ajax成功功能中,我添加了:

        $("#loggedin").val(data); // Changed the value of the hidden input with the username value on the fly. data contains the username
    
            $('#MyForm').submit();
            $('#loginpop').dialog('close');
    
    现在一切正常,我的表格在登录后提交:)

    会容易得多

    您还可以将其存储在cookie.js中(并在提交后删除cookie),然后直接提交