0

这是我的代码。Onclick提交时,如果答案正确,则该值将保存在数据库中。我想要的是,当我单击提交按钮时,必须禁用表单中的所有其他提交按钮。我可以这样做吗?请帮我。

    <textarea name="questn" id="questn" readonly="readonly" cols="45" rows="5"><?php echo $quest['questnId']; ?>.&nbsp<?php echo $quest['question'];?></textarea>
   <input type="submit" class="myButton" name="option" value="<?php echo $quest['optiona'];?>"/>
   <input type="submit" class="myButton" name="option"  value="<?php echo $quest['optionb'];?>" />
   <input type="submit" class="myButton" name="option"  value="<?php echo $quest['optionc'];?>" />
   <input type="submit" class="myButton" name="option"  value="<?php echo $quest['optiond'];?>" />

我使用提交而不是无线电的原因是我希望按钮上的值动态显示在它上面。

4

2 回答 2

1

您可以在表单上编写一个onsubmit 事件以禁用所有按钮。

<form action="xyz.html" onsubmit="handleSubmit()">
  <input type="submit" name="option" value="b1"/>
  <input type="submit" name="option" value="b2"/>
  <input type="submit" name="option" value="b3"/>
  <input type="submit" name="option"  value="b4"/>
</form>



function handleSubmit(){
   var list = document.getElementsByName('option');

   for(var i=0;i<list.length;i++){
      list[i].disabled=true;
   }

   alert('all disabled');
}​

http://jsfiddle.net/4BDaU/1/


2)如果您不想禁用单击,我会建议使用onclick按钮来调用handleSubmit. 代码将如下所示。

  <input type="submit" name="option" onclick="handleSubmit(this)" value="b1"/>
  <input type="submit" name="option" onclick="handleSubmit(this)" value="b2"/>
  <input type="submit" name="option" onclick="handleSubmit(this)" value="b3"/>
  <input type="submit" name="option" onclick="handleSubmit(this)" value="b4"/>

您处理的函数现​​在将接受this将被排除在循环中的函数。

function handleSubmit(current){
   var list = document.getElementsByName('option');

   for(var i=0;i<list.length;i++){
      if(list[i]!=current)   // new condition added
         list[i].disabled=true;
   }

   alert('all disabled');
}​

另请注意,在这种情况下,onsubmit您不需要添加form

于 2012-07-09T05:27:49.630 回答
0

像这样的东西会起作用:

function disableEverything() {
    var inp = document.getElementsByTagName('input'), l = inp.length, i;
    for( i=0; i<l; i++) inp[i].disabled = true;
}

然后你可以调用onClick任何提交按钮的这个函数。


为什么不能使用单选按钮?像这样:

<label><input type="radio" class="mybutton" name="option" value="<?=$quest['optiona']?>" /> <?=$quest['optiona']?></label>
...
于 2012-07-09T05:22:32.673 回答