問題フォームの送信をキャンセルする機能をライトボックスに提供するか、フォームの送信を続行するための追加情報を提供する必要があります。
詳細な要件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");
}
});