【发布时间】:2017-03-23 15:07:55
【问题描述】:
我创建了一个调查表,该表会生成一封包含所提供答案的电子邮件。我遇到的问题是一个问题需要三个选项的单选按钮,但随后需要在下面包含复选框,这些复选框可用于将信息附加到所选的单选按钮选项。这是我描述的代码示例:
<fieldset data-role="controlgroup">
<label for="q_planName" id="q_formStatus_title">Choose one of the following headline options:</label>
<input type="radio" name="q_formStatus" id="q_formStatus_1" onchange="onSelectionChanged(this);" />
<label for="q_formStatus_1"Blah 1</label>
<input type="radio" name="q_formStatus" id="q_formStatus_2" onchange="onSelectionChanged(this);" />
<label for="q_formStatus_2">Blah 2</label>
<input type="radio" name="q_formStatus" id="q_formStatus_3" onchange="onSelectionChanged(this);" />
<label for="q_formStatus_3">Blah 3
<br/>The following indications may be appended to any headline option:<br/><br/>
<input type="checkbox" name="q_formStatus" id="q_formStatus_4" ;" />
<label for="q_formStatus_4">Date of blah required?</label>
<input type="checkbox" name="q_formStatus" id="q_formStatus_5" ;" />
<label for="q_formStatus_5">Blah is non regulated.</label></fieldset>
这在表单中看起来不错,但用于在电子邮件中打印这些结果的代码将此问题标识为无线电输入,因此它将答案存储为单个响应而不是数组(即它将打印Q: questionTitle, A: answerValue 代替 Q:questionTitle, A1:answerValue1,A2:answerValue2 等)
请注意,这些问题必须经过审批流程,因此请不要只建议将其分成两个单独的问题或添加“以上选项均无”。
谢谢!
【问题讨论】:
-
所以只有在选中某些收音机时才会显示复选框?如果是这样,那么它们应该作为不同的问题部分附加,例如,如果您的两个复选框显示在单选 1 被选中的情况下,则将这些复选框作为
q_formStatus_a传递。不要只是将它们全部推入一个庞大的数组中-这样会更难维护-如果遇到这样的代码,我会诅咒在我之前的开发人员 -
好吧,无论选择哪个单选按钮,复选框都将始终显示,但不强制选择任何复选框,但必须选择至少一个单选按钮。如果我确实将复选框作为不同的名称传递,我将不得不在以后的循环中找到一种方法来引用它。谢谢
-
这是我最大的问题.. 这是我之前的开发人员编写的所有代码,所以我很难理解他的功能:/
-
但是由于一个是强制性的,另一个不是,对我来说,它们是不同的问题,它们可能相互关联,但从本质上讲,它们是不同的——使用数组怎么样:
q_formStatus[radio]用于收音机,q_formStatus[check][]用于复选框(末尾有括号,因为它是一个数组) -
是的,谢谢,我实际上只是将它们分成单独的问题,但没有列出复选框的问题编号,因此它在表单上看起来仍然是无缝的。现在我只是在努力寻找代码来制作它,以便复选框问题不是强制性的......看起来默认情况下每个问题都是强制性的,除非我另有说明(我无法弄清楚)
标签: javascript jquery html