多次提交

时间:2012-07-09 05:19:04

标签: php javascript mysql submit

这是我的代码。提交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'];?>" />

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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>
...