2012-08-29 36 views
1

問題我們需要給燈箱設施以取消表單提交或提供額外信息以繼續提交表單。在提交過程中提交表格同步確認燈箱

詳細要求我有一個HTML表單。在表單提交之前,我們需要顯示一個燈箱,從用戶那裏詢問一些額外的信息。簡而言之,我需要一個Javascript函數的同步行爲。我知道這不是JS的行爲,但我也確信這是可能的,而且有人必須通過某種方式實現它。我們怎麼做到這一點。

代碼看起來像下面,希望更好地解決問題。

//This is called when submit button is clicked. 
$('.mbutton').bind('click', function(e){ 
    var subButton = e.target || e.srcElement || e.originalTarget; 
    var value = subButton.id; 

    //If submit button pressed. 
    if (value == "Publish"){ 
     //custom JQuery plugin to open light box. 
     $.siddlb('#puboptions',{}); 
     //Lightbox opens but soon form too submits and new page gets loaded. Requirements are, function must wait here until light box is closed. 
    } 

    //Below task should execute only if user provide required information in lightbox. 
    finalize(); 
    try{ 
     if (value == "Publish"){ 
      var canvas = document.getElementById("imageView"); 
      var context = canvas.getContext("2d"); 
      var img  = canvas.toDataURL("image/png"); 
      document.getElementById("textimage").value = img;    
     } 
     //$("#myaction").val(subButton.id); 
     $("#myaction").val('Publish'); 
    }catch(e){ 
     $("#myaction").val("Cancel");     
    } 
}); 

回答

1

我想你的發佈按鈕(如名稱建議)是窗體的提交按鈕。

可能有不同的方式,但如果我是你,我會化妝發佈按鈕,簡單的按鈕類似

<button class="mbutton" id="publish">Publish</button> 

在它的點擊,做任何你想要在燈箱做。只需將另一個按鈕置於「繼續」之類的Lightbox上,然後通過javascript提交表單即可。

這是非常簡單直接的解決方案,可能是您正在尋找其他解決方案。如果您找到其他解決方案,請告訴我。