この人頭いいなと思ったエピソード

初心者です。よろしくお願いします。
formでボタンが3つからひとつを選択したら他を押せないようにしたいです。
ラジオボタンの用な感じなのですが、押すと同時にデータを送信してリロードするまでボタンの機能を停止したいです。
ボタンのタイプはとくにこだわりはありません。

<HTML><BODY>
<form id="ID" action="#" method="post">
<label><input type="submit" name="button" value="button_1">
<img src="images/button_1.png" width="#" height="#" alt="#"></label>
<label><input type="submit" name="button" value="button_2">
<img src="images/button_2.png" width="#" height="#" alt="#"></label>
<label><input type="submit" name="button" value="button_3">
<img src="images/button_3.png" width="#" height="#" alt="#"></label>
</form>
</BODY></HTML>

この中からボタンをひとつ押すと同時に送信して他を押せなくしたいのですが、
onSubmit="return double() や onclick="DisableButton(this);"
では他のボタンが押せてしまいます。
全部を<label>で括るとbutton_1だけが有効になって他のボタンが効きません。

初心者で質問が分かりにくいかもしれませんが、よろしくお願いします。

A 回答 (2件)

ブラウザによってはページを戻るとボタンがdisable状態になってしまいますが


それでOK?
    • good
    • 0
この回答へのお礼

アドバイス有難うございます。
確かに、Firefoxでは効かないのと同一ページに同じ処理を複数しようとすると効かなくなっていしまいます。
困りました・・・

お礼日時:2015/12/19 10:21

以下で如何でしょう。

name = "button"のボタンを全てdisableにします。
-------------------------
<script language="JavaScript">
function disableBtn(){
var elms = document.getElementsByName("button");
for(var e = 0; e < elms.length; e++) {
elms[e].disabled = true;
}
}
</script>

<BODY>
<form id="ID" action="#" method="post">

<label><input type="submit" name="button" value="button_1" onClick="disableBtn()">
<img src="images/button_1.png" width="#" height="#" alt="#"></label>

<label><input type="submit" name="button" value="button_2" onClick="disableBtn()">
<img src="images/button_2.png" width="#" height="#" alt="#"></label>

<label><input type="submit" name="button" value="button_3" onClick="disableBtn()">
<img src="images/button_3.png" width="#" height="#" alt="#"></label>
</form>
</BODY>
    • good
    • 0
この回答へのお礼

大変素早く対応頂きましてありがとうございました。
ポン付けでうまく動きました。
今日、半日悩んでいたので本当に助かりました。
ありがとうございます。

お礼日時:2015/12/13 20:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報