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 に答える