所以我有一个名为 Index.cshtml 的页面
我在表单中输入了 ID 为“cvr”的内容:
@using (Html.BeginForm("SendMailAsACompany", "Contract", null, FormMethod.Post, new { id = "cvr" }))
{
<input type="hidden" value=@Html.ViewData.Model.StudentId name="studentId" />
<input type="hidden" value=@Html.ViewData.Model.CompanyId name="companyId" />
<input type="hidden" value=@Html.ViewData.Model.ApplicationId name="applicationId"/>
if (User.Identity.GetUserId() == Html.ViewData.Model.CompanyId)
{
<input type="text" name="companyCVR" placeholder="Indsæt CVR-nr."/>
}
}
在页面底部,我有一个带有上面 id 的提交按钮(“cvr”),我试图在其中添加两个表单以传递到 Controller (repFirstName 和 repLastName):
@if (User.Identity.GetUserId() == Html.ViewData.Model.CompanyId)
{
using (Html.BeginForm("SendMailAsACompany", "Contract", null, FormMethod.Post, new { id = "cvr" }))
{
<input type="text" name="repFirstName" placeholder="Indsæt fornavn" />
<input type="text" name="repLastName" placeholder="Indsæt lastnavn" />
}
<input type="button" value="Submit" onclick="$('#cvr').submit();" class="btn btn-success" />
}
但是他们不会传递提交,只会传递第一个值(上面的 CPR)。但是,如果我一开始就拥有所有三个值,它们就会成功通过。
如何在两个地方都有输入,并且仍然能够提交数据并将其传递给 Controller ?我需要两个单独的表单/ID 吗?
最佳答案
只需要一个表单,删除第二个表单声明并使用 form
attribute 将元素与表单关联起来它在页面底部定义。
The form attribute is used to associate an input, select, or textarea element with a form (known as its form owner).
@if (User.Identity.GetUserId() == Html.ViewData.Model.CompanyId)
{
<input type="text" name="repFirstName" placeholder="Indsæt fornavn" form="cvr"/>
<input type="text" name="repLastName" placeholder="Indsæt lastnavn" form="cvr"/>
<button form="cvr" class="btn btn-success">Submit</button>
}
关于javascript - 页面上两个不同位置的两个文本 html 文本输入具有相同的提交 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38437938/