Jquery对话框正在表单外部发布,但我需要在对话框按钮上单击提交表单

Jquery对话框正在表单外部发布,但我需要在对话框按钮上单击提交表单,jquery,asp.net-mvc,Jquery,Asp.net Mvc,这是一个棘手的问题,我无法在Dailog框中单击发布到我的表单。对话框一旦打开,就会在表单外部发布,因此对话框中的按钮单击将不会将表单提交给服务器。我尝试将对话框追加回表单,但表单将自动发布。我只需要在用户单击对话框上的任一按钮时发布到表单。提前谢谢你的帮助 主视图 局部视图 不要考虑从对话框和原始表单中发布数据,只需使用其中的表单值填充原始表单上的值,关闭对话框,然后通过post从“是”按钮操作发布原始表单 如果有很多值要处理,可以简单地序列化对话框中的字段,然后使用each将它们发回原始表单

这是一个棘手的问题,我无法在Dailog框中单击发布到我的表单。对话框一旦打开,就会在表单外部发布,因此对话框中的按钮单击将不会将表单提交给服务器。我尝试将对话框追加回表单,但表单将自动发布。我只需要在用户单击对话框上的任一按钮时发布到表单。提前谢谢你的帮助

主视图

局部视图


不要考虑从对话框和原始表单中发布数据,只需使用其中的表单值填充原始表单上的值,关闭对话框,然后通过post从“是”按钮操作发布原始表单

如果有很多值要处理,可以简单地序列化对话框中的字段,然后使用each将它们发回原始表单。如果不希望用户以原始形式看到对话框中的值,则将其作为隐藏字段包含,或者只需在post中使用对话框和表单中的序列化值

或者,您也可以在对话框上设置一个与原始表单不同的表单,然后提交两个序列化值以处理表单。这实际上可能是涉及最少的方法


您可能需要考虑的一件事是,使用对话框中断填写表单的体验并不被认为是一种好的用户模式。考虑一个对话,一个过程的一个关键中断,理想的情况下,只有当你必须停止用户的特定原因,如警告。简单地让他们通过一个对话框添加更多信息,可以通过一个可扩展的区域以更简单的方式完成,例如使用“显示/隐藏”。

用户选择文件,然后单击“上载”。单击“上载”按钮后,会显示一个提示,让用户决定对文件执行哪种类型的解析,这就是为什么我有一个对话框,其中有两个按钮设置特定值。我想如果对话框不起作用,我可以使用单选按钮或可扩展区域。问题是,使用“是”或“否”按钮,表单根本不会提交。您提到通过post发布Yes按钮操作的原始表单,您是指使用Ajax发布吗?如果是这样的话,Ajax就不是我表单的一个选项。不,如果你不想,你不需要Ajax值。对话框和表单都在dom中。因此,只需将dom对话框区域中的值放入两个表单标记之间的dom表单区域,然后提交即可。
@using (Html.BeginForm("Create", "RunLogEntry", FormMethod.Post, new { id = "form", enctype = "multipart/form-data" }))
{
    <div id="main">
        @Html.Partial("_RunLogEntryPartialView", Model)
    </div>
}
<button name="submit" class="art-button" type="submit" value="Upload" onclick="test();return false;"
    style="width: 100px">
    Upload</button>


 function test() {
        var UploadDialog;

        UploadDialog = $("#uploadConfirmation").dialog({
            title: "Yes or No",
            resizable: false,
            modal: false,
            buttons: {
                "Yes": function () {
                    $(this).dialog("close");
                    $("#hiddenInput").val("Normal");
                    $("#form").submit();
                },
                "No": function () {
                    $(this).dialog("close");
                    $("#hiddenInput").val("Buffer");
                }
            }
        });

        //        UploadDialog.closest("div.ui-dialog").appendTo("#form");
    }