html 如何在多个表单中使用相同的隐藏输入?

gkl3eglg  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(130)
  • 我知道使用JavaScript可以很容易地完成这一点,但我很想知道是否有任何方法可以不使用JavaScript来完成这一点。*

我有一个包含多个表单的网页。它们都更改了同一实体的不同属性。

<form>
    <input type="text" name="FirstField" id="FirstField">
    <button type="submit">Save</button>
</form>

<form>
    <input type="text" name="SecondField" id="SecondField">
    <button type="submit">Save</button>
</form>

我还需要发送实体的ID,这样我就可以知道要修改哪一个。如果我在两种形式中都使用HTML.HiddenFor(),它就可以工作,但是我的页面有重复的ID。
有没有一种方法可以将一个隐藏的输入用于多个表单,而不需要复制它或使用JavaScript?

6jjcrrmo

6jjcrrmo1#

不能在多个form中使用相同的input,因为HTML元素不能同时位于两个父元素中。
我在这里遇到的实际问题是,使用MVC的HTML.HiddenFor()会在页面中创建重复的id
解决方案是不使用HiddenFor帮助器方法,而是手动添加隐藏的input。这允许您指定name属性,而不具有id属性。
结果如下所示,没有重复的id

<form>
    <input type="hidden" name="ItemID">
    <input type="text" name="FirstField" id="FirstField">
    <button type="submit">Save</button>
</form>

<form>
    <input type="hidden" name="ItemID">
    <input type="text" name="SecondField" id="SecondField">
    <button type="submit">Save</button>
</form>

相关问题