点击进度条不起作用

时间:2015-01-13 14:33:28

标签: javascript

<body align="center">
<progress value="0" max="100" id="p1"></progress>
<form id="form_Warpper" onsubmit="return validateForm();">
                <div class="radio_Warpper">
                <p> 1. </p>
                <label> I am a. </label>
                <div class="allQuestion"><?php for($i=1; $i<=10; $i++){?><input type="radio" name="Dquestion[1]" id="p1" value="<?=$i?>"> <?=$i?> <?php } ?></div>
                </div>

                <div class="radio_Warpper">
                <p> 2. </p>
                <label> I am b. </label>
                <div class="allQuestion"><?php for($i=1; $i<=10; $i++){?><input type="radio" name="Iquestion[1]" id="p2"value="<?=$i?>"> <?=$i?> <?php } ?></div>
                </div><!-- 12 -->

                <div class="radio_Warpper">
                <p> 3. </p>
                <label> I am c. </label>
                <div class="allQuestion"><?php for($i=1; $i<=10; $i++){?><input type="radio" name="Hquestion[1]" value="<?=$i?>"> <?=$i?> <?php } ?></div>
                </div><!-- 13 -->

                <div class="radio_Warpper">
                <p> 4. </p>
                <label> I am d. </label>
                <div class="allQuestion"><?php for($i=1; $i<=10; $i++){?><input type="radio" name="Aquestion[1]" value="<?=$i?>"> <?=$i?> <?php } ?></div>
                </div><!-- 14 -->


                <div class="radio_Warpper">
                <p> 5. </p>
                <label> I am e. </label>
                <div class="allQuestion"><?php for($i=1; $i<=10; $i++){?><input type="radio" name="Dquestion[2]" value="<?=$i?>"> <?=$i?> <?php } ?></div>
                </div><!-- 15 -->

                <div class="radio_Warpper">
                <p> 6. </p>
                <label> I am f. </label>
                <div class="allQuestion"><?php for($i=1; $i<=10; $i++){?><input type="radio" name="Iquestion[2]" value="<?=$i?>"> <?=$i?> <?php } ?></div>
                </div><!-- 16 -->

                <input name="submit" type="submit">Sumbit</input>
              </div>

JS

<script type="text/javascript">
function incr() { 
var v1=document.getElementById('p1').value;
document.getElementById("p1").value= v1 + 1;
}
</script>

我有一个带有js功能的php页面,我的目的是在每个问题上点击一个进度条,所以每个问题只能点击一次,但是如果我在同一个问题中重新点击收音机,那么这个过程会增加,我需要所有问题只能点击一次。

所以有6个问题,将是1 / 6,2 / 6等等。如何让问题广播只被点击一次,我不想要jquery或禁用收音机,我希望他们可以再次重新点击,请看看。

1 个答案:

答案 0 :(得分:0)

我认为你需要在每个无线电输入上添加 onclick ,并为每个问题分配一个ID:

<div class="radio_Warpper">
<p> 1. </p>
<label> I am a. </label>
<div class="allQuestion"><?php for($i=1; $i<=10; $i++){?><input type="radio" name="Dquestion[1]" onclick="incr('a')" id="p1" value="<?=$i?>"> <?=$i?> <?php } ?></div>
</div>

请注意 onclick =&#34; incr(&#39; a&#39;)&#34; 会在无线电输入中插入上方。至于第二个问题,你可以使用类似 onclick =&#34; incr(&#39; b&#39;)&#34; 的内容。至于 incr 功能,我建议您添加:

var memoryPool = new Array();

function incr(id) {

 var found = 0;

 for (var i=0; i<memoryPool.length; i++) {
  if (memoryPool[i] == id) {
   found = 1;
  }
 }
 if (!found) {
  var v1=document.getElementById('p1').value;
  document.getElementById("p1").value= v1 + 10;
  memoryPool.push(id);
 }
}

请注意,如果答案发生变化,则需要提供每个问题的ID以避免添加额外的progess值。另请注意,我将进度增加10,以便清楚地看到进度。最后,您仍然需要将增量值更改为1 / totalQuestions * 100以反映实际的百分比变化。

希望这能解决你的问题!