function disableSubmit(form) {
var elements = form.elements;
for (var i = 0; i < elements.length; i++) {
if (elements[i].type == 'submit') {
elements[i].disabled = true;
}
}
}
<form method="get" onsubmit="disableSubmit(this)">
<input type="text" name="q">
<input type="submit" value="search">
</form>
ボタンのvalueが渡らなくなる罠がある.
そのような作り方はしていないので,とりあえず保留.
Reference
naoyaのはてなダイアリー - onsubmit で submit ボタンを disable にしてユーザビリティを良くするhttp://d.hatena.ne.jp/naoya/20050803/1123053496
naoyaのはてなダイアリー - submit ボタン disable 技の罠
http://d.hatena.ne.jp/naoya/20050804/1123152230