2011-10-13 44 views
2

所以我的目標是在我的jQuery代碼中有一個函數,它允許我執行case語句,然後允許我對每個表單執行所需的操作,而無需重新 - 鍵入整個發佈功能。jquery一個函數發送所有表單並獲取數據

更新我的解決方法是,在這個問題的

例如最底部

function fetch(e,formstring) 
{ 

    $.ajax({ 
     type: 'POST', 
     url: 'system/classes/core.php', 
     data: formstring, 
     dataType: 'json', 
     contentType: "application/x-www-form-urlencoded;charset=utf-8", 
     success: function(data){ 
      $.each(data, function(i, obj) { 

       switch (e) { 
       case 1: 
        $.each(obj, function(key, val) { 
        alert(key+" - "+val); 
        }); 
       break; 
       case 2: 
        alert("sucker"); 
       break; 
       case 3: 
       //LoginSript 

        $('#rightheader').html(obj.code); 
       break; 
       case 4: 
       //WelcomePage/Signup 
        $('#window').html(obj.code); 
       break; 
       } 
     }); 
     }, 
     error: function(data){ 
     $.each(data,function(i,myinfo){ 
      alert(i);  
      }); 
     } 
    }); 
    return false; 
} 

雖然提取數據似乎工作,提交表單似乎沒有。

$(function() { 

    $("form#login").submit(function(){ 
     shownotify(1,"Please hold we are login you in."); 
     fetch(1,$(this).serialize()); 
    }); 
}); 

我以爲我一切正常。

只是也是所以你可以看到這裏是顯示通知功能。

function shownotify(e,msg) 
{ 
    if(e==1){$('#notify').show();}; 
    if(e==2){$('#notify').hide();}; 

    $('#notifyheader').html("Please Hold"); 
    $('#notifytext').html(msg); 
} 

我想知道是否有錯誤,或者我做錯了嗎?

+1

請您的解決方案添加到propper *答案*否則人家不知道這有解決了。 – jackJoe

+0

完成後不知道我可以回答我自己的問題 – RussellHarrower

回答

0

我固定的錯誤的方式是通過設置圍繞$一個setTimeout函數(函數(){})

setTimeout(function(){ 
$(function() { 

    $("form#login").submit(function(){ 
     shownotify(1,"Please hold we are login you in."); 
     fetch(2,$(this).serialize()); 
    }); 
}); 
},1000); 
相關問題