在html中为Survey调整数值

时间:2016-02-03 10:06:56

标签: javascript php html

我有一个带有单选按钮和复选框的问卷,我想评分。几乎所有人都有这种格式:

 <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分到分数。我希望这清除它。

1 个答案:

答案 0 :(得分:1)

使用data-attributes

<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);
}

Demo

请记住:对于您需要在元素中设置的任何类型的数据,请使用data-属性。为此使用任何其他默认属性并不好。