问题我们需要在灯箱上提供功能以取消表单提交或提供额外信息以继续提交表单。
详细要求我有一个 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");
}
});