提交表单后,colorbox不会关闭

时间:2014-04-20 04:57:31

标签: jquery forms colorbox

如果我尝试提交表单,我遇到了colorbox的问题,成功时彩盒仍然打开。 我试着添加colorbox.close();在成功,它工作,但如果我尝试再次单击链接打开表单,表单不显示 - 我只能看到关闭按钮和叠加。 我试图在成功后隐藏表单和叠加,但是再次 - 表单在第二次单击时没有打开。

我试图调整js文件 - 为关闭按钮分配相同的功能以提交按钮,但这当然无法正常工作。 如何在提交时关闭表格 - 请提出建议。

弹出窗体:

<div class="body" id="inline-popup">
    <form action="index" method="post" id="form">
        <fieldset>
            <label>Name</label>
            <input type="text" id="name" name="name" />
        </fieldset>

        <fieldset>
            <label>URL (optional)</label>
            <input type="text" name="url" id="url" />
        </fieldset>
        <fieldset>
            <input type="submit" value="ok" class="submit" />
        </fieldset>
    </form>
</div>

colorbox call和ajax:

    <script>
        $(".popup").colorbox({inline:true, width:"300px", height:"100%"});

$('.submit').on('click', function(e){

        $.ajax({
            type: "POST",
            url: '/pathname/submitForm',
            data: $("#form").serialize(),
            error: function(xhr, ajaxOptions, thrownError, data) {
                err = Array();
                err[0] = "Oops an error is occured";
                    console.log(err);
            },
            dataType: "json",
            success:  function(data) {
                if(data.success=="yes") {
                    console.log(data.success);

                } else {
                    console.log(data.error);
                }
            }
        });
        e.preventDefault();
    });
    </script>

1 个答案:

答案 0 :(得分:1)

试试这个:

success:  function(data) {
    if(data.success=="yes") {
        $.fn.colorbox.close();
        console.log(data.success);
    }