我有一个带有单选按钮和复选框的问卷,我想评分。几乎所有人都有这种格式:
<input type="radio" name="1" value="Да"
onclick="document.getElementById('pls').setAttribute('required', true)" required>Да
<input type="radio" name="1" value="Не"
onclick="document.getElementById('pls').removeAttribute('required')">Не </br>
我需要name和value属性来实现它们当前的目的,所以我不能使用它们。
有没有办法仍然为不同的答案分配一些点值,并将它们与客户端相加。然后将它们添加为数据库中的不同列。问题是只有一个属性带有答案的值。
编辑: 这是2个问题的完整格式:
<b>1.QUESTION?</b></br>
<input type="radio" name="1" value="Да" data-points="1" onclick="document.getElementById('pls').setAttribute('required', true)" required>Да
<input type="radio" name="1" value="Не" data-points="0" onclick="document.getElementById('pls').removeAttribute('required')">Не </br>
<input type="radio" name="1" value="Пропуснах да се огледам" onclick="document.getElementById('pls').removeAttribute('required')">Пропуснах да се огледам </br>
<i>COMENT?</i> </br>
<textarea name="edno" id="pls"></textarea></br>
</br>
<b>2.QUESTION?</b></br>
<input type="radio" name="2" value="Да" data-points="1" onclick="document.getElementById('2a').removeAttribute('required')" required>Да
<input type="radio" name="2" value="Не" data-points="0" onclick="document.getElementById('2a').setAttribute('required', true)">Не </br>
<i>COMMENT</i> </br>
<textarea id="2a" name="dve"></textarea></br></br>
现在我需要当我选择一个ДА检查添加1点并且当检查НЕ时添加0分到分数。我希望这清除它。
答案 0 :(得分:1)
<input type="radio" name="1" value="Да" data-points="10" onclick="changePoints(this); document.getElementById('pls').setAttribute('required', true)" required>Да
<input type="radio" name="1" value="Не" data-points="5" onclick="changePoints(this); document.getElementById('pls').removeAttribute('required')">Не
所以你可以用javascript来获取它们:
function changePoints(el)
{
var points = el.dataset.points;
alert(points);
}
请记住:对于您需要在元素中设置的任何类型的数据,请使用data-
属性。为此使用任何其他默认属性并不好。