【发布时间】:2014-02-16 05:01:22
【问题描述】:
我有一个 MVC 表单,用户将通过填写字段(TextBoxFor 和 TextAreaFor 的混合)来完成该表单。表单将被提交并持久化到数据库中。
然后,用户可以选择在以后使用几个按钮之一来更新表单。其中:
- 修改详细信息 - 允许用户更改之前完成的任何字段的详细信息。
- 添加详细信息 - 填写之前留空的字段。
当希望更新他们的详细信息时,用户要采取的行动是:
当用户第一次打开表单以更新详细信息时,视图将使用 DisplayFor 显示所有详细信息。所有字段都被锁定以进行编辑。
例如,如果用户单击“修改详细信息”按钮,则会显示一个包含复选框的弹出框;迄今为止已完成的每个字段都有一个。
用户选中与他们希望更改的字段相对应的复选框,然后单击“更新”按钮,弹出窗口将关闭并且表单重新成为焦点。
用户选择更新的字段现在已从 DisplayFor 更改为 TextBoxFor 以允许编辑。
这个过程的第 4 步是我遇到的问题。我发现有几种方法可以通过 jQuery 来实现,您可以将输入标签从一个更改为另一个。例如:
marker = $('<span />').insertBefore('#myInput');
$('#myInput').detach().attr('type', 'text').insertAfter(marker).focus();
marker.remove();
取自:jQuery: Change element type from hidden to input
有什么方法可以让我在考虑到 MVC 输入标签的情况下进行这种转换?
【问题讨论】:
标签: c# jquery html asp.net-mvc