2012-10-30 86 views
0

我使用下面的代碼來提交我的表單而不重新加載頁面,但是當data.a =「a」或「b」等在AJAX的成功部分中,我還是會想按照傳統方式通過php提交表單而不用jQuery。提交後發送AJAX數據

因此,在這種情況下,我們的目標是將AJAX數據(「data:myForm.serialize()+」& id_town =「+ id_town,」)傳輸到「action」html屬性中指定的url形成。

你有什麼想法嗎?

HTML代碼:

<form id="inscription_form_home" action="index.php?module=membres&action=inscription" method="post" > 
... 
</form>  

jQuery代碼:

$("#inscription_form_home").submit(function() { 
var myForm = $(this); 

$.ajax({ 
    dataType: 'json', 
    type: "POST", 
    url: "traitement_profil.php", 
    data:myForm.serialize()+"&id_town="+id_town, 
    success: function(data){ 
     if (data.a == "a" || data.a == "b"){ 
      // Transmit the data part to the form url 
     }else{     
      alert("Inscription OK."); 
     } 
    } 
}); 

return false; 
}); 
+0

你問如何讓第二個AJAX調用'action'網址是什麼? – charlietfl

+0

很不好解釋,不明白你想要什麼 –

+0

@charlietfl:是的,我認爲這可能是解決方案。我們怎麼做到這一點? – Anon

回答

2

正如媒體鏈接有人說,你可以做內部的另一個Ajax調用

E dition意見後,:

嘗試......

<form id="inscription_form_home" action="index.php?module=membres&action=inscription" 

    method="post" > 
    ... 
    <button id="mButton">Submot<button> 
    </form> 


$(document).ready(function() {$("#mButton").bind('click', mysubmit($));}); 

    function mysubmit() 
    {  
    $.ajax({ 
     dataType: 'json', 
     type: "POST", 
     url: "traitement_profil.php", 
     data:myForm.serialize()+"&id_town="+id_town, 
     success: function(data){ 
      if (data.a == "a" || data.a == "b"){ 
       //do your new call here, or you can also submit the form 
      }else{     
       alert("Inscription OK."); 
      } 
     } 
    });  
    return false; 
    } 
+0

我試過$(「#inscription_form_home」)。submit();而不是if循環中的註釋,但它會一次又一次地提交表單。我認爲解決方案並不簡單。 – Anon

+0

是的,真的,你添加了你的Ajax函數提交功能!嘿嘿抱歉沒有注意到它。我建議一個解決方法是:爲ajax調用創建新函數並將其綁定到發送按鈕,並將提交保留在回覆中。 – VicoMan

+0

我明白,但我不確定能夠做到這一點...你能通過編輯你的帖子告訴我代碼是什麼樣的嗎? – Anon

0

你可以這樣:

$(location).attr('href',YOUR URL); 
+0

我的問題不是關於簡單的重定向:除了重定向之外,我想傳輸AJAX數據。 – Anon

+1

在你的範圍內寫入另一個AJAX請求,就像你之前做的那樣。重定向後。但最好提出一個大的請求,而不是很多小的請求。 – 2012-10-30 16:23:28