開発者向け機能:スクリプト:$p.getControl
## 概要
__編集画面上__で対象の項目名から要素を取得するメソッドの説明です。
対象の項目名のid名や値を出力したいときに使用してください。
## 構文
##### JavaScript
```
$p.getControl('項目の名前')
```
## 使用例
以下のサンプルコードをプリザンターのスクリプトへ設定し出力先は「編集」にした後、編集画面に遷移してください。
##### JavaScript
```
$p.events.on_editor_load = function () {
$p.setMessage('#Message', JSON.stringify({
Css: 'alert-success',
Text: $p.getControl('Title').val()
}));
}
```
## サンプルコード
<details>
<summary>1.複数項目の組み合わせで重複チェックする</summary>
新規作成・編集画面で、タイトル・対象日・作成者(分類A・分類B・分類C)のいずれかの値が変更されるたびに、3項目の値を結合したキーを分類Gに自動的に設定します。
分類Gに[重複禁止](/ja/manual/table-management-no-duplication)を設定しておくことで、3項目の組み合わせによる重複を検知できます。
#### 実務での使いどころ
Pleasanterの項目設定にある[重複禁止](/ja/manual/table-management-no-duplication)は、単一の項目にしか設定できません。
タイトル・対象日・作成者のように、複数項目の組み合わせで重複を防ぎたい場合は、対象項目の値を結合した値を格納する項目を別途用意し、その項目に重複禁止を設定する必要があります。
本サンプルは、その結合キーを自動生成する部分を担います。
#### 事前準備
1:重複チェックの対象にしたい3項目を用意します(例:分類A=タイトル、分類B=対象日、分類C=作成者)。
2:結合キーを格納する分類項目を1つ用意します(例:分類G)。
2-1:「テーブルの管理 > 項目」タブで分類Gを選択します。
2-2:[重複禁止](/ja/manual/table-management-no-duplication)にチェックを入れます。
2-3:分類Gは通常の項目として画面に表示したままでも動作します。ユーザーの目に触れさせたくない場合は、非表示にする方法を別途検討してください(本サンプルでは非表示化は扱いません)。
3:スクリプトを登録します。
3-1:「テーブルの管理 > スクリプト」タブで「新規作成」を選択します。
| 設定項目 | 設定値 |
|:--|:--|
| タイトル | 任意の名前(例:3項目の重複チェック用キー生成) |
| スクリプト | 下記サンプルコードを貼り付け |
| 出力先 | 「全て」のチェックを外し、「新規作成」「編集」にチェック |
##### JavaScript
```
// 分類A・分類B・分類Cの値を結合し、重複チェック用の分類Gに設定する
function setDuplicateKey() {
$p.set(
$p.getControl('ClassG'),
`${$p.getValue('ClassA')}${$p.getValue('ClassB')}${$p.getValue('ClassC')}`,
);
}
// 分類A・分類B・分類Cのいずれかが変更されたら、結合キーを再生成する
$p.on('change', 'ClassA', function () {
setDuplicateKey();
});
$p.on('change', 'ClassB', function () {
setDuplicateKey();
});
$p.on('change', 'ClassC', function () {
setDuplicateKey();
});
```
</details>



