我有一个 asp.net 网络表单,用于收集有关诊所和患者的详细信息。在表格的底部,我有一个块,基本上要求提供患者信息(名字、姓氏、地址等),我可以有 n 个患者(n 可以从 1 到 10)。我在想我会写一个 html 块并问一个问题
添加其他患者?
我必须动态生成一个类似的块,比如第一个具有唯一 ID 的块。
解决此类问题的最佳方法是什么?我如何处理验证?
谢谢
使用$.clone
方法
这是一个例子
确保你不使用 ID,因为你最终会得到重复的 ID
我看到你并不真正理解这里的概念。ID 必须是唯一的(将其视为政府 ID 号)不能有两个 ID 相同。
虽然类不是唯一的(就像名字一样,许多人有相同的名字),但它们可以分配给多个元素。
对不应在同一页面上重复的元素使用 id。例如,主标题的 id 可以是id="header_container"
. 虽然列表中的项目永远不会具有相同的 id,因为它们不是唯一的(请注意,我们谈论的是标签而不是它的内容)。
对于 id 的标题应该没问题。所以 :
<div id="header">... header contents ...</div>
对于课程,项目列表也应该可以
<ul>
<li class="someone" > me <li>
<li class="someone" > you <li>
<li class="someone" > he <li>
</ul>
你不能这样做:
<ul>
<li id="someone" > me <li>
<li id="someone" > you <li>
<li id="someone" > he <li>
</ul>
您可以在 jquery 中使用任何类型的有效 css 选择器
所以如果我要获得标题,我将使用
$('#header')
#
id的符号在哪里
如果我要选择所有列表项
$('.someone')
.
id的符号在哪里
首先你应该知道使用 id 并不是一个非常聪明的主意。我很少使用它们(如果你能避免麻烦,那就这样做)。
所以使用类。因为如果这样做,它们仍然只能分配给一个元素。或使用新data
属性。
但是,如果您 100% 确定它们永远不会重复,请使用它们。例如数据库中的一组记录。确定他们没有相同的 id 然后只使用元素的属性 id。
好吧,只需分配一个类。如果你不想那么简单
$('input')
这将选择所有输入标签,虽然仍然有点不方便,但不用担心。您可以通过其名称选择输入
$('input[name="the_name_of_the_input"]')
请通过谷歌搜索阅读有关该主题的更多信息。我只是追加有空闲时间。所以我投资了它。但努力得到答案,这就是它的坚持
我建议您使用多个 HTML 输入,例如:
<input type="text" name="name[]"/>
然后,在您的 JavaScript 中,您只需像其他人所说的那样附加或克隆字段!您可以在服务器端轻松验证,因为表单中的每个字段都是一个数组,例如
(name[0] = 'patient1', name[1] = 'patient2', etc)
.
计算输入的数量,然后验证它们。