我正在开发一个包含4个nav-tabs的Web应用程序。
名为 index.cshtml 的主要cshtml文件包含4个nav-tabs作为部分视图:
<div class="tab-content" id="mainTab" >
<div class="tab-pane fade in active" id="@ViewData["Stamp"]" role="tabpanel" aria-labelledby="stempel-tab">
@{ViewBag.Title = "Index";}
@{Html.RenderAction("_Stempel", "Home");}
</div>
<div class="tab-pane fade" id="@ViewData["BackDated"]" role="tabpanel" aria-labelledby="backdated-tab">
@{ViewBag.Title = "Index";}
@{Html.RenderAction("_BackDated", "Home");}
</div>
<div class="tab-pane fade" id="@ViewData["History"]" role="tabpanel" aria-labelledby="historie-tab">
@{ViewBag.Title = "Index";}
@{Html.RenderAction("_Historie", "Home");}
</div>
<div class="tab-pane fade" id="@ViewData["ChangePin"]" role="tabpanel" aria-labelledby="changepin-tab">
@{ViewBag.Title = "Index";}
@{Html.RenderAction("_Pinaendern", "Home");}
</div>
</div>
每个标签都有一个表单,我必须在其中提交信息。我使用Html.BeginForm来定义Form:
@using(Html.BeginForm(“SavePost”,“Home”,FormMethod.Post))
要执行表单,我使用一个按钮(每个标签有一个不同的按钮):
<div class="stempel_button" id="my_centered_buttons">
<button id="stempel" value="stempel" type="submit" style="width:200px"class="btn btn-primary" >@ViewData["Button_Booking"]</button>
</div>
按下按钮时,会调用SavePost函数:
$(document).ready(function () {
//Executed when pressed send/book
$('#stempel').click(function () {
alert("hello click stempel");
$("form[action$='SavePost']").submit(function () {
//Some Action
}
}
}
函数SavePost在HomeController.cs中定义:
[AcceptVerbs(HttpVerbs.Post)]
public String SavePost()
{
// Some code
}
当我在一个标签中点击提交按钮时,它会在所有其他标签中执行此行:
$("form[action$='SavePost']").submit(function () {
//Some Action
}
是否可以为每个表单定义一个ID并使用ID调用submit函数,因此它只执行特定的表单?
像这样:
@using (Html.BeginForm("SavePost", "Home", FormMethod.Post, new { id = "stempelform" }))
感谢您的回答......
答案 0 :(得分:0)
使用$(“form [action $ ='SavePost']”)。eq(0).submit();对于每个表单都有效。
如果你使用像这样的按钮条件:
$("#buttonid").click(function () {
}
每次点击按钮都会添加提交。我只是删除了条件并且它有效。
谢谢!