次のようなHTMLがあります。
<input type="submit" name="submit" value="決定">
サブミットボタンを押下すると、下のようにhiddenに変更してサブミットさせたいです。(type=submitの方はdisableにして)
<input type="hidden" name="submit" value="決定">
変なことを書くようですが、こういうことできますでしょうか?
(理由は、http://q.hatena.ne.jp/1266164117に関係していますが、1フォーム、複数サブミットボタンの2度押し制御対応について困っているためです。)
<html> <head> <title>button test<title> <script language="JavaScript"> <!-- function disablebutton(form) { var elements = form.elements; for (var i = 0; i < elements.length; i++) { if (elements[i].type == 'submit') { elements[i].disabled = true; } } } //--> </script> </head> <body> <p>ボタンを一度押すと無効になるはず。</p> <p> <form method="post" onClick="return disablebutton(this)"> <input type="submit" value="ぽちっとな"> </form> </body> </html>
こんな具合でどうでしょうか。hiddenにすると、ユーザからみた場合に『なんか突然ボタンが消えた』となり、不親切な気がしましたので、ボタンを押せない状態にしてみました。13行目を以下のように書き換えるとhiddenにできると思います。
elements[i].type = 'hidden';
ありがとうございます。確かにhiddenに変更すると消えますね。
いろいろ調べたところ、以下を参考にしてできました。
http://d.hatena.ne.jp/naoya/20050804/1123152230
私の質問が分かりにくいところがあった点、お詫びします。