在MVC4中使用多个表单

时间:2013-07-23 11:15:42

标签: asp.net-mvc-4

我正在MVC 4中创建一个小应用程序。我在单个视图中有2个表单form1和form2。当一个表单发布时,我进入下一个表单,我从视图重定向到一个操作方法Employee,我在其中执行一些任务然后再从action方法返回到视图,在视图中我想去form2而不触摸form1我该怎么做。 下面我将展示我的代码的样子

控制器

public ActionResult Index()
{
//some task
resturn view();
}

public ActionResult Employee()
{
//some task
}

查看

@html.BeginForm("Index","Show",FormMethod.Post,new {@name=form1})
{
//Shown something
}

@Html.Action("Employee","Show")


@html.BeginForm("Employee","Show",FormMethod.Post,new {@name=form2})
{
//Shown something
}

1 个答案:

答案 0 :(得分:0)

创建一个Javascript,检查表单1中是否设置了任何必需的值。如果是这样,请将焦点设置在表单2中您想要的任何元素上。这是一个示例:

html表格:

<form id="one">
    <input type="text" id="requiredFormField" value="some value previously entered" />
</form>
<form id="two">
    <input type="text" id="form2text" />
</form>

和javascript:

$(document).ready(setFocusIfForm1Completed());
function setFocusIfForm1Completed()
{
    var expectedValue = $("#requiredFormField").val();
    if(expectedValue.length > 0)
    {
        $("#form2text").focus();
    }
}

我应该补充一点,我假设您填写表单1,然后您提交(执行POST请求到服务器)做一些工作,然后返回相同的视图但至少有一些必填值来自表单1填充(否则,此解决方案会中断)。