【发布时间】:2015-08-03 21:17:24
【问题描述】:
我有一个包含问卷编辑器的网络应用程序。可能有很多问题;每个都可以有很多答案;每个问题都有两组单选按钮,用于设置各种问题选项。
我正在使用以下样式的 ID:
id="Q-$questionNumber"
id="Q-$questionNumber-A-$answerNumber"
...其中 '$questionNumber' 和 '$answerNumber' 被替换为适当的数字。
ID 编号方案有两个作用:
- 当点击一个元素时,我的 javascript 可以检查 ID 号以找出它属于哪个问题/答案。
- 输入元素的名称遵循相同的编号方案。提交表单后,我的 PHP 代码可以通过检查名称来确定提交的值与哪个问题编号/答案编号相关联。
当然,当我拖放问题时,所有这些 ID 和名称都需要重新编号。我编写了 javascript/jQuery,它成功地重新编号并正常工作。但感觉很笨拙。
似乎我可以从所有 ID 中删除编号方案,并通过使用 jQuery 检查其在 DOM 中的位置来找出所有问题编号/答案编号。但似乎我仍然需要在输入元素名称上使用编号方案,以便我在服务器上的 PHP 代码可以判断各种提交的表单元素属于哪个问题编号/答案编号。
有没有更好的办法?
更新来自 Bankzilla 的每个请求。这是一些示例 HTML。这是一个问题。每个文档可以有很多问题,每个问题可以有很多答案。
<div id="Q-1" class="QuestionGroup ui-draggable">
<br>
<h2 id="QuestionText-Q-1">
Question #1
<input type="text" name="questionText-Q-1" value="" id="questionText-Q-1" class="questionText" maxlength="256" size="70">
</h2>
<div class="containerForAnswers">
<p class="answerPar">
<span class="answerLabel answerLabelinEditView">#1:</span>
<input type="text" name="Q-1-A-1" value="" id="Q-1-A-1" class="answer answer-Q-1" maxlength="256" size="70">
</p>
<p class="answerPar">
<span class="answerLabel answerLabelinEditView">#2:</span>
<input type="text" name="Q-1-A-2" value="" id="Q-1-A-2" class="answer answer-Q-1" maxlength="256" size="70">
</p>
<p class="answerPar">
<span class="answerLabel answerLabelinEditView">#3:</span>
<input type="text" name="Q-1-A-3" value="" id="Q-1-A-3" class="answer answer-Q-1" maxlength="256" size="70">
</p>
</div>
</div>
【问题讨论】:
-
向我们展示您目前拥有的东西,以便我们提出更好的方法
标签: php jquery css forms drag-and-drop