我可以提交仅包含隐藏字段的表单吗?

本文关键字:表单 字段 隐藏 提交 包含 我可以 | 更新日期: 2023-09-27 18:34:11

我正在根据下拉菜单将不同的表单加载到同一个div 中......当其他人被告知通过 JQuery 提交时,似乎都可以工作,除了这个......有人知道为什么吗?谢谢。。。。

@using (Html.BeginForm("SaveInMemoryPayment", "Payment", FormMethod.Post))
{
@Html.ValidationSummary(true)

<p> Payment type: Cash. No further action needed. Plase click Save to finish. </p>

<input type="hidden" name="PaymentTypeID" id="paymentTypeIDHidden" value="@Model.PaymentTypeID" />
<input type="hidden" name="DonationID" id="donationIDHidden" value="@Model.DonationID" />
<input type="hidden" name="PaymentDate" id="paymentDateHidden" value="@Model.PaymentDate" />
<input type="hidden" name="PaymentAmount" id="paymentAmountHidden" value="@Model.PaymentAmount" /> 
}

这是一个确实有效的表格...

@using (Html.BeginForm("SaveInMemoryPayment", "Payment", FormMethod.Post))
{
@Html.ValidationSummary(true)
<p>Check information:</p>
<div class="editor-label" id="check1">
        @Html.LabelFor(model => model.CheckNumber)
    </div>
    <div class="editor-field" id="check1.2">
        @Html.EditorFor(model => model.CheckNumber)
        @Html.ValidationMessageFor(model => model.CheckNumber)
    </div>

@Html.HiddenFor(x => x.PaymentTypeID)
@Html.HiddenFor(x => x.DonationID)
@Html.HiddenFor(x => x.PaymentDate)
@Html.HiddenFor(x => x.PaymentAmount)

}

他们都发回同一个地方...但第一个不会。这些表单被加载到具有保存按钮的父视图中的div 中...该按钮将打开一个对话框,其中包含一个单击中的"确定"按钮:$('#paymentSection2').find('form').submit();

我可以提交仅包含隐藏字段的表单吗?

你为什么不使用@Html.HiddenFor()?这可能是一个绑定问题,MVC 无法区分您的输入名称和它期望的输入名称。(例如,它可能期望MyModel.PaymentID,而不仅仅是PaymentID作为输入名称)。

请尝试以下操作:

@using (Html.BeginForm("SaveInMemoryPayment", "Payment", FormMethod.Post))
{
    @Html.ValidationSummary(true)
    <p> Payment type: Cash. No further action needed. Plase click Save to finish. </p>
    @Html.HiddenFor(x => x.PaymentTypeID)
    @Html.HiddenFor(x => x.DonationID)
    @Html.HiddenFor(x => x.PaymentDate)
    @Html.HiddenFor(x => x.PaymentAmount)
}

是的,您可以提交仅包含隐藏字段的表单。