チェックボックスにデフォルトでチェックを入れたい
公開日:2022/03/03
- クラウド
- V5.4
- V5.3
- V5.2
- V5.1
- V5.0
- V4.3
- V4.2
- V4.1
- V4.0
入力フォーム表示時にチェックボックスにチェックが入っている状態にしたいのですが可能でしょうか。
JavaScriptでの実装が必要とはなりますが、可能です。
申請フォームの「ページ表示時のJavaScript」にて、チェックボックスにチェックを入れる処理を実装します。
※ページ表示時にJavaScriptを動作させる方法は「入力フォーム表示時にJavaScriptを動作させたい」を確認ください。
実装する処理は、製品バージョンおよびフォーム形式によって異なります。
以下、ご利用の環境の内容をご確認ください。
・V5.2.0以降のバージョン&フォーム形式の場合
・V5.2.0より前のバージョン&フォーム形式の場合
・旧バージョン形式のフォーム(JSP)/JSPフォームの場合
◆V5.2.0以降のバージョン&フォーム形式の場合
例として、申請フォーム表示時にオブジェクト名「ICHECK000」のチェックボックスにチェックを入れる方法を説明します。
以下の処理を参考に、スクリプトを申請フォームのページ表示時のJavaScriptに実装してください。
【サンプル処理】
// APIをインスタンス化 var forms = new iftc.cwf.api.Forms();
if( forms.isShownFirst() ){
// 初回表示のときチェックボックスにチェックを入れる new iftc.cwf.api.FormObject("ICHECK000").setChecked(true); }
サンプル処理を実装した場合、以下のような操作を行った場合にも、サンプル処理が動作しますのでご注意ください。
・下書き保存した案件を表示した時
・案件を再申請/再承認するために入力フォームを表示した時
◆V5.2.0より前のバージョン&フォーム形式の場合
例として、申請フォーム表示時にオブジェクト名「ICHECK000」のチェックボックスにチェックを入れる方法を説明します。
以下の処理を参考に、スクリプトを申請フォームのページ表示時のJavaScriptに実装してください。
【サンプル処理】
var checkBox = document.getElementsByName("ICHECK000"); var len = checkBox.length; for(var i=0 ; i < len ; i++){
// チェックボックスにチェックを入れる checkBox[i].checked = true;
// チェックマーク種別が「グラフィカル」の場合に追記(※1) ここから-------- // APIをインスタンス化 var forms = new iftc.cwf.api.Forms(); // iftc.cwf.api.Forms.invokeEvent() を利用し入力フォームに反映 forms.invokeEvent(checkBox[i], "onChange"); forms.invokeEvent(checkBox[i], "onBlur"); // 追記ここまで------------------------------------------------------------------- }
なお、サンプル処理を実装した場合、以下のような操作を行った場合にも、サンプル処理が動作しますのでご注意ください。
・ルートの確認画面上の[入力フォームに戻る]ボタンにより入力フォームを再表示した時
・マルチフォームの追加・削除した時
・申請件名に禁則文字が含まれている状態で、[申請する]ボタンをクリックした時
・下書き保存した案件を表示した時
・案件を再申請/再承認するために入力フォームを表示した時
(※1)チェックマーク種別が[グラフィカル]のチェックボックスに対して、JavaScriptでchecked属性値を設定した場合、
値は設定されますが、入力フォーム上の表示が反映されません。
iftc.cwf.api.Forms.invokeEvent() を使用し、onChange、onBlur イベントを強制実行することで、入力フォーム上の表示が
反映されます。
◆旧バージョン形式のフォーム(JSP)/JSPフォームの場合
例として、申請フォーム表示時にオブジェクト名「PCHECK000」のチェックボックスにチェックを入れる方法を説明します。
以下処理を参考に、スクリプトを申請フォームのページ表示時のJavaScriptに実装してください。
【サンプル処理】
var checkBox = document.getElementsByName("PCHECK000")[0];
var len = checkBox.length;
for(var i=0 ; i < len ; i++){
// チェックボックスにチェックを入れる checkBox[i].checked = true;
}
なお、サンプル処理を実装した場合、以下のような操作を行った場合にも、サンプル処理が動作しますのでご注意ください。
・[申請詳細設定]画面の[入力画面に戻る]ボタンにより入力フォームを再表示した時
・下書き保存した案件を表示した時
・案件を再申請/再承認するために入力フォームを表示した時
アンケート
この質問・回答は役に立ちましたか?