2011-11-26 82 views
1

也許有一些與Coldfusion的Ajax功能扭曲,但我不能弄清這一個出來......我只是想使用ColdFusion.Ajax.submitForm張貼一些數據,然後使用ColdFusion.navigate將新內容加載到#CartPopup。在加載Div之前,我需要Details.cfm來完成表單數據的處理。無法推遲或延遲ColdFusion.navigate(),ColdFusion.Ajax.submitForm()

function add2Cart(prodid){ 
    var submit = ColdFusion.Ajax.submitForm('AddToCart', 'Details.cfm'); 
    setTimeout("navigate(prodid)", 2000); 
} 

function navigate(prodid){ 
    ColdFusion.navigate('divbind.cfm?PRODID='+ prodid,'CartPopup','CB','EH'); 
    return false; 
} 

也許延遲不是最好的辦法。我想用的:

jQuery.when 

,但如果與CF AJAX功能......我對任何見解或替代辦法超級感激我想知道如果也許我的問題。

謝謝!

回答

2

你的代碼第一個片段應該是:

function add2Cart(prodid){ 
    ColdFusion.Ajax.submitForm(
     'AddToCart', 
     'Details.cfm', 
     function() { navigate(prodid); }, 
     function() { alert('Error happened - form was not submitted'); } 
    ); 
} 

正如你可以看到heresubmitForm可以接收2個回調處理程序,一個當提交完成後,一個用於錯誤處理。

+0

謝謝,這很好。另外我需要onsubmit =「返回false;」對於我的表單提交,否則它刷新頁面。 –