今更であるが、時代遅れの Webシステムのサーバーサイドに対応するために。。。
formutil.js とでも名付けて
<script type="text/javascript" src="../js/formutil.js"></script>
------------- formutil.js の内容 ----------------
/**
* @returns confirm実行メッセージ
* 必要に応じてオーバーライドする。
*/
function getConfirmMessage(){
return "送信してよろしいですか?";
}
/**
* 入力バリデーションチェック処理
* 必要に応じてオーバーライドする。
* @returns Boolean true=フォーム送信可能
*/
function validation(){
return true;
}
/**
* confirm有り onsubmit実行
* 例)
* <form onsubmit="return shouldOnSubmitConfirm(id, '送信中...')" >
* @param id <input type="submit" の id
* @param sendingValue 省略可、送信中 <input type="submit" の value
* @returns Boolean
*/
function shouldOnSubmitConfirm(id, sendingValue){
document.getElementById(id).disabled = true;
if (!validation()){
document.getElementById(id).disabled = false;
return false;
}
var orgvalue = document.getElementById(id).value;
if (sendingValue != null){
document.getElementById(id).value = sendingValue;
}
if (confirm(getConfirmMessage())){
return true;
}
document.getElementById(id).value = orgvalue;
document.getElementById(id).disabled = false;
return false;
}
/**
* confirm無し onsubmit実行
* 例)
* <form onsubmit="return shouldOnSubmit(id, '送信中...')" >
* @param id <input type="submit" の id
* @param sendingValue 省略可、送信中 <input type="submit" の value
* @returns Boolean
*/
function shouldOnSubmit(id, sendingValue){
document.getElementById(id).disabled = true;
if (!validation()){
document.getElementById(id).disabled = false;
return false;
}
if (sendingValue != null){
document.getElementById(id).value = sendingValue;
}
return true;
}