レコード編集イベントの使い方が分かりません

レコード編集イベントに記されているサンプルの使い方がどうしても分かりません。

サンプルをJavascript にして使用したら、実行できませんでした。

ao1962さん

お世話になっております。サイボウズスタートアップスの武井です。

 

サンプルは下記のサンプルでしょうか?

kintone.events.on('app.record.edit.show', function(event){
	kintone.app.record.setFieldShown('文字列__1行', false);
});

 

JavaScriptファイルは必ず文字コードを「UTF-8」にして保存してください。

また、コードの「‘文字列__1行’」の部分を、消したいフォームのフィールドコードに変更する必要があります。

編集画面を開いた時に発生するイベントですので、編集画面を開く必要があります。

(一覧の編集画面ではありません)

はい、そうです。

フィールドコードについて、フォームもJavascript も同じであるにもかかわらず、実行できませんでした。

ao1962さん

 

であれば、考えられる原因は以下のどれかになると思います。

ご確認ください。

  • JavaScriptの文字コードが「UTF-8」で保存されていない
  • 非表示にしようとしているフィールドが「ラベル」「罫線」「スペース」「サブテーブル内のフィールド」のどれかである
  • モバイル版kintoneで表示している
  • JavaScriptのアップロード箇所がモバイル版の方にアップしてしまっている
  • JavaScriptをアップロードしたあと、[設定完了]ボタンを押下していない
  • コードをコピーする時に「1 kintone.events.on~~」のように、行数も含めてコピーしてしまっている
  • お使いの環境がkintoneの動作環境にマッチしていない

非表示にしようとしているフィールドは文字列(1行)ですが、文字列(1行)を対象にプラグインを設定しているからでしょうか?

ao1962さん

なるほど、その可能性には気づきませんでした。

プラグインを設定している場合、スクリプトが競合している可能性はあります。

競合であるなら、プラグインかJavaScriptのコードを修正する必要がありそうですね。

いろいろとフィールドを変えてみて、レコード編集で何とか実行できました。

プラグインは関係ありませんでした。

保存すると、再び表示されます。

保存しても、表示されない方法はありますでしょうか?

ao1962さん

先ほども申し上げたように、

このコードの実行タイミングは編集画面のみです。

保存後は詳細画面になるため、そこでも消したいとなるとスクリプトを以下のように変更する必要があります。

kintone.events.on(['app.record.edit.show','app.record.detail.show'], function(event){

    kintone.app.record.setFieldShown('文字列__1行',false);

});

編集に続いて、保存の回答もありがとうございました。

おかげで実行することができました。