function CheckRequiredDropDownValue(strId, msg) { var obj = document.getElementById(strId); if (obj == null) return false; var fCheck = false; var n = 0; for (n = 0; n < obj.options.length; n++) { if (n == 0) continue; if (obj.options[n].selected) fCheck = true; } if (!fCheck) { alert(msg); return false; } else return true; } function CheckRequiredRadioButton(strName, msg) { var obj = document.getElementsByName(strName); if (obj == null || obj.length == 0) return false; var fCheck= false; var n = 0; for(n = 0; n < obj.length; n++) { if(obj[n].checked) fCheck=true; } if (!fCheck){ alert(msg); return false; } else return true; } function CheckRequiredInputValue(strId, msg) { var obj = document.getElementById(strId); if (obj == null || obj.value == null) return false; if (obj.value == '') { alert(msg); return false; } return true; } function CheckTextLength(strId, nLength, nRowLength, msg) { var obj = document.getElementById(strId); if (obj == null) obj = document.getElementById(strId+'_text'); if (obj == null || obj.value == null || obj.value == '') return true; //特殊仕様 var nALineCharCount = 28; var nMaxLength = nLength; var arrStr = obj.value.replace(/\r\n?/g,"\n").split("\n"); var nCharCount = 0; var nLineCount = arrStr.length; for(var i=0; i nALineCharCount) { var nCount = Math.floor(arrStr[i].length / nALineCharCount); if(arrStr[i].length % nALineCharCount == 0) nCount=nCount -1; nLineCount = nLineCount + nCount; } } if( (nLineCount > Math.floor(nLength / 28) && nCharCount > nLength) || nLineCount > nRowLength ) { alert(msg); return false; } return true; } function CheckTextDataTypeToNumber(strId, msg) { var obj = document.getElementById(strId); if (obj == null || obj.value == null || obj.value == '') return true; if ( isNaN(parseInt(obj.value)) ) { alert(msg); return false; } return true; } String.format = function() { var args = []; for(var i = 0; i < arguments.length; i++) args[i] = arguments[i]; var format = args.shift(); var reg = /\{((\d)|([1-9]\d+))\}/g; return format.replace( reg, function() { var index = Number( arguments[1] ); var result = args[ index ]; if( typeof( result ) == "undefined" ) throw new Error( "arguments[ " + index + " ] is undefined." ); return result; } ); } function ValidateStep1(strDisregardNo){ var fValidate = true; fValidate = CheckTextLength('Step1-2',200,8,String.format('注意事項(Step1‐2) は{0}文字かつ{1}行以内で入力してください。', '200', '8')); if( !fValidate) return fValidate; return fValidate; } function ValidateStep2(strDisregardNo){ var fValidate = true; if( strDisregardNo == null || strDisregardNo != 'Step2-1'){ fValidate = CheckRequiredRadioButton('Step2-1','服用するタイミングと場所(Step2-1)をひとつ選択してください。'); } if( !fValidate) return fValidate; return fValidate; } function ValidateStep3(strDisregardNo){ var fValidate = true; if( strDisregardNo == null || strDisregardNo != 'Step3-1'){ fValidate = CheckRequiredRadioButton('Step3-1','記載される文章(Step3-1)をひとつ選択してください。'); } if( !fValidate) return fValidate; if( strDisregardNo == null || strDisregardNo != 'Step3-2'){ fValidate = CheckRequiredDropDownValue('Step3-2','夕食時刻(Step3-2)をひとつ選択してください。'); } if( !fValidate) return fValidate; fValidate = CheckTextLength('Step3-1_text',200,8,String.format('独自の指示内容(Step3‐1) は{0}文字かつ{1}行以内で入力してください。', '200', '8')); if( !fValidate) return fValidate; fValidate = CheckTextLength('Step3-4',200,8,String.format('前日に関する追加文章(Step3‐4) は{0}文字かつ{1}行以内で入力してください。', '200', '8')); if( !fValidate) return fValidate; fValidate = CheckTextLength('Step3-6',200,8,String.format('当日に関する追加文章(Step3‐6) は{0}文字かつ{1}行以内で入力してください。', '200', '8')); if( !fValidate) return fValidate; return fValidate; } function ValidateStep4(strDisregardNo){ var fValidate = true; if( strDisregardNo == null || strDisregardNo != 'Step4-1'){ fValidate = CheckRequiredRadioButton('Step4-1','剤型(Step4-1)を選択してください。'); } if( !fValidate) return fValidate; return fValidate; } function ValidateStep5(strDisregardNo){ var fValidate = true; if( strDisregardNo == null || strDisregardNo != 'Step5-2'){ fValidate = CheckRequiredInputValue('Step5-2','服用量(Step5‐2) を入力してください。'); } if( !fValidate) return fValidate; fValidate = CheckTextLength('Step5-2',3,1,String.format('', '3', '1')); if( !fValidate) return fValidate; fValidate = CheckTextLength('Step5-5',200,8,String.format('その他服用終了の目処(Step5‐5) は{0}文字かつ{1}行以内で入力してください。', '200', '8')); if( !fValidate) return fValidate; fValidate = CheckTextLength('Step5-6',200,8,String.format('前処置に関する併用薬(Step5‐6) は{0}文字かつ{1}行以内で入力してください。', '200', '8')); if( !fValidate) return fValidate; fValidate = CheckTextLength('Step5-7',200,8,String.format('その他服用に関する注意事項(Step5‐7) は{0}文字かつ{1}行以内で入力してください。', '200', '8')); if( !fValidate) return fValidate; return fValidate; } function ValidateStep6(strDisregardNo){ var fValidate = true; fValidate = CheckTextLength('Step6-1',200,8,String.format('その他注意事項(Step6‐1) は{0}文字かつ{1}行以内で入力してください。', '200', '8')); if( !fValidate) return fValidate; fValidate = CheckTextLength('Step6-2',100,5,String.format('連絡先(Step6‐2) は{0}文字かつ{1}行以内で入力してください。', '100', '5')); if( !fValidate) return fValidate; return fValidate; }