Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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 使用UIKIT模式获取变量(而不是提示符)_Javascript_Jquery_Modal Dialog_Uikit_Fullcalendar - Fatal编程技术网

Javascript 使用UIKIT模式获取变量(而不是提示符)

Javascript 使用UIKIT模式获取变量(而不是提示符),javascript,jquery,modal-dialog,uikit,fullcalendar,Javascript,Jquery,Modal Dialog,Uikit,Fullcalendar,我正在使用并在单击日期时触发提示。因此,如果我在9月30日点击,我会得到两个提示框 我目前在javascript中使用以下代码接收两个变量: var title = prompt('Job Title:'); var project = prompt('Project Title:'); 我试图使用创建一个带有字段的单一模式来获取变量(而不是两个单独的提示弹出窗口) 我可以显示模式并禁用提示,但FullCalendar功能继续运行。它找不到var标题并抛出错误:

我正在使用并在单击日期时触发提示。因此,如果我在9月30日点击,我会得到两个提示框

我目前在javascript中使用以下代码接收两个变量:

        var title = prompt('Job Title:');
        var project = prompt('Project Title:');
我试图使用创建一个带有字段的单一模式来获取变量(而不是两个单独的提示弹出窗口)

我可以显示模式并禁用提示,但FullCalendar功能继续运行。它找不到var标题并抛出错误:

未捕获引用错误:未定义标题

提示将暂停代码的处理,直到提供变量为止。我的情态没有

使用模态替换提示的正确方法是什么。在按下save按钮并将变量添加到字段之前,暂停JavaScript运行的最佳代码是什么

下面是有关所用代码的更多详细信息:

我将上述JS代码替换为:

$.UIkit.modal('#workcal-add-modal').show();
并具有以下模态:

<!-- This is the modal -->
<div id="workcal-add-modal" class="uk-modal">
    <div class="uk-modal-dialog">
        <a class="uk-modal-close uk-close"></a>

        <form class="uk-form">

            <fieldset data-uk-margin>
                <input type="text" placeholder="project Name" id="wc_add_project_title">
                <select>
                    <option>Project 1</option>
                    <option>Project 2</option>
                </select>
                <button class="uk-button">Save</button>
            </fieldset>

        </form>

    </div>
</div>

项目1
项目2
拯救

谢谢

您需要创建一种基于
承诺的方法,在这种方法中,您可以创建一个承诺,并在用户单击
保存时解决它,或者在用户取消或关闭对话框时拒绝它


看到这里:

我猜您是在一个函数中创建这些变量,然后结束,因此存储的变量被释放

在脚本的顶部,创建两个变量

    var title;
    var project;
当您的代码需要填充这些变量时,请使用以下代码:

    title = prompt('Job Title:');
    project = prompt('Project Title:');
稍后,当您的代码需要使用它们时,它们将用您想要的值初始化,只要您在此之前不使用它们


如果没有更多的代码,并且要查看它们是在哪里创建和使用的,就很难说为什么在您尝试使用它们时,
title
是未定义的。它可能是作用域,或者在您填充它们时,日历并不像您在初始时间传递闭包那样创建。

毕竟,我非常简单地解决了这个问题

我只是将剩下的javascript封装在一个函数中,该函数仅在单击save按钮时触发

        $("#modal_save").on("click", function(){ ... all the code here ... });