2013-04-04 55 views
0

这是越来越棘手,我无法张贴到Dailog盒子内点击我的形式。对话框一旦打开,就会在表单之外发布,因此对话框中的按钮点击不会将表单提交到服务器。我尝试将对话框追加回窗体,但窗体将自动发布。我只想在用户单击对话框上的任一按钮时发布到表单。在此先感谢您的帮助jQuery的对话框的形式之外,但我需要提交对话框按钮形式单击

主视图

@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"); 
    } 

回答

0

而不是想着从对话框和原来的形式发布您的数据,只需使用在那里创建值以填充原始表单中的值,关闭对话框,然后通过帖子从“是”按钮操作发布原始表单。

如果你有很多的值来处理,你可以简单地序列化对话框中的字段,然后使用每个张贴他们重新回到你原来的形式。如果你不希望用户看到您在原表格对话框中有值,然后把它们作为隐藏字段或简单地使用序列化的值从对话框,并在后两种形式。

或者,你也可以将它从原来的形式在对话框上一个单独的形式,然后同时提交了序列化值来处理形式。这实际上可能是最不涉及的方法。你可能要想想有点

的一件事是使用对话中断填写表格不被视为一个巨大的用户模式的经验。考虑一个对话是一个过程的关键中断,理想情况下,只有当您因特定原因(如警告)而停止用户时才会使用该对话框。简单地让他们通过对话框添加更多信息可以通过可扩展区域以更简单的方式完成,例如使用show/hide。

+0

用户选择文件,然后单击上传。点击上传按钮后,会显示一个提示,让用户决定对文件执行哪种类型的解析,这就是为什么我有两个按钮设置特定值的对话框。我想我可以使用单选按钮或可扩展区域,如果对话框不起作用。问题在于,使用“是”按钮或“否”,表单完全不提交。您提到“通过帖子发布来自”是“按钮操作的原始表单”是否您的意思是使用Ajax进行发布?如果是这样,Ajax不适合我的表单。 – 2013-04-04 21:39:09

+0

不,你不需要ajax值。对话框和表单都在dom中。因此,只需将对话框中的值放入dom的窗体区域(在两个窗体标签之间),然后提交即可。 – bpeterson76 2013-04-04 21:45:14

相关问题