我当前遇到一个问题,当我转到某个页面并单击其中一个按钮时,我收到页面无法显示错误消息。我意识到,因为我有多个提交按钮,当我单击一个按钮时,它不知道要启动什么。这是我当前拥有的按钮:
<button class="glossyBtn" type="submit" name="submitButton" value="@Html.Encode(Kids.Resources.Message.Ok)">
<img alt="" style="vertical-align: middle; margin-right:1px" src="@Url.Content("~/Content/blueprint/plugins/buttons/icons/tick.png")" />
<span style="vertical-align: middle">Ok</span>
</button>
这是我的 .cshtml 页面中的内容:
@using (Html.BeginForm("Manage", "Invoice"))
{
<fieldset id="contentView">
<div class="row">
@Html.Raw(Html.DatePickerEnable())
<fieldset>
<span>@Kids.Resources.Entities.Billing.BillingStatus</span> @Html.EditorFor(m => m.BillingStatuses)
<br />
<div style="float:left; width:320px">
<span>Begin Date</span> @Html.EditorFor(m => m.BeginDate) @Html.ValidationMessageFor(m
=> m.BeginDate)
<span>End Date</span> @Html.EditorFor(m => m.EndDate) @Html.ValidationMessageFor(m
=> m.EndDate)
<div style="background-color: white;" class="bubble">@Html.ValidationSummary(true, Message.ValidationErrorSummary, new { @class = "error" })</div>
</div>
<button class="glossyBtn" type="submit" name="submitButton" value="@Html.Encode(Kids.Resources.Message.Ok)">
<img alt="" style="vertical-align: middle; margin-right:1px" src="@Url.Content("~/Content/blueprint/plugins/buttons/icons/tick.png")" />
<span style="vertical-align: middle">Ok</span>
</button>
</fieldset>
</div>
@if (Model.Invoices != null)
{
<div class="row">
@Html.Grid(Model.Invoices).Attributes(id => "Invoices").Columns(column =>
{
column.For(i => i.CanAddItems ? string.Format(
"<a class='noStyle' href='{0}' title='Edit'><img src='{1}'/></a>",
Url.Action("Prepare", "Invoice", new { invoiceId = i.InvoiceId }),
Url.Content("~/Content/images/pencilEdit.png")) : string.Empty).Sortable(false).Encode(false);
column.For(i => i.CanPay ? string.Format(
"<a class='noStyle' href='{0}' title='Pay'><img class='pic' src='{1}'/></a>",
Url.Action("Pay", "Invoice", new { invoiceId = i.InvoiceId }),
Url.Content("~/Content/images/moneySign.png")) : string.Empty).Sortable(false).Encode(false);
column.For(i => i.CanVoid ? string.Format(
"<a class='noStyle' href='{0}' title='Void'><img class='pic' src='{1}'/></a>",
Url.Action("Void", "Invoice", new { invoiceId = i.InvoiceId }),
Url.Content("~/Content/images/newVoid.png")) : string.Empty).Sortable(false).Encode(false);
if (Kids.Common.KidsSettings.Settings.SubmissionInvoice)
{
column.For(i => i.CanSubmit ? string.Format(
"<a class='noStyle' href='{0}' title='{2}'><img class='pic' src='{1}'/></a>",
Url.Action("Files", "PaymentVoucherFile", new { invoiceId = i.InvoiceId }),
Url.Content("~/Content/images/newVoucher.png"), Kids.Resources.Ocr.PaymentVoucherFile) : string.Empty).Sortable(false).Encode(false);
}
}).Empty(string.Format("No {0}", Kids.Resources.Entities.Billing.Invoices)).Sort(Model.GridSortOptions)
<p />
我浏览了整个网站,发现工作量似乎有点太多了。我可以在同一页面上执行一些简单的操作,例如 javascript 或其他操作,而不是更改两个或三个文件。
准备 - 付款 - 作废也是包含相同结构和相同提交按钮的表单。
最佳答案
如果您有许多不同表单的提交按钮,那么在 javascript 中使用如下所示的内容:
var form = $(document.forms['formName'])//或使用 $(document.forms[0]) 等索引
然后 form.submit();这些按钮将需要 onclick 操作并 type='button'
希望这有帮助
关于c# - 使用多个提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12627916/