我正在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
}
答案 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填充(否则,此解决方案会中断)。