Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交时使用同步确认灯箱提交表单_Javascript_Jquery_Html_Forms - Fatal编程技术网

Javascript 提交时使用同步确认灯箱提交表单

Javascript 提交时使用同步确认灯箱提交表单,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,问题我们需要在lightbox上提供取消表单提交或提供额外信息以继续表单提交的便利 详细要求我有一个HTML表单。在提交表单之前,我们需要显示一个灯箱,向用户询问一些额外的信息。简单地说,我需要Javascript函数中的同步行为。我知道这不是预期的JS行为,但我也确信这是可能的,一定有人通过某种方式实现了这一点。我们怎么能做到呢 代码如下所示,希望能更好地解决问题 //This is called when submit button is clicked. $('.mbutton').bin

问题我们需要在lightbox上提供取消表单提交或提供额外信息以继续表单提交的便利

详细要求我有一个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");                   
    }
});

我猜您的发布按钮(顾名思义)是表单的提交按钮

可能有不同的方法,但如果我是你,我会让发布按钮像按钮一样简单

<button class="mbutton" id="publish">Publish</button>
发布
单击它,在lightbox中执行任何您想执行的操作。只需在lightbox中放置另一个按钮,如“continue”,然后单击该按钮,通过javascript提交表单


这是一个非常简单和直接的解决方案,可能你正在寻找其他的解决方案。如果您找到其他解决方案,请告诉我。

我猜您的发布按钮(如名称所示)是表单的提交按钮

可能有不同的方法,但如果我是你,我会让发布按钮像按钮一样简单

<button class="mbutton" id="publish">Publish</button>
发布
单击它,在lightbox中执行任何您想执行的操作。只需在lightbox中放置另一个按钮,如“continue”,然后单击该按钮,通过javascript提交表单

这是一个非常简单和直接的解决方案,可能你正在寻找其他的解决方案。如果您找到其他解决方案,请告诉我