こんにちは。
わたちゃんと申します。
今回はSalesForceのVisualForceによるカスタム画面作成についての小メモとなります。
カスタム画面を作成している時、ユーザの標準項目の横にドロップダウンが出ることがあります。
これを消すための記述として、以下の書き方で項目の間に書いてしまえば見えなくなります。
<apex:inputField id="testValues" value="{!Columns.test1__c}" >
<script type="text/javascript" language="javascript">
document.getElementById('testPage:testForm:testPageBlock:testValues_mlktp').style.display = "none";
</script>
</apex:inputField>
手順としましては
1.Chrome、FireFoxの開発者モード等で対象の項目のIDを探索・取得します。
2.document.getElementById()に取得したIDをセットします(mlktpとは非表示の対象となる項目IDです)。
3.非表示を行う要素として、style.displayにnoneを設定します。
4.対象項目の中にjavaScriptを埋め込む。
上や下に対象の記述をすると、ページ読み込み時に要素がない、と怒られるので、項目の要素を定義したあと、つまり項目の中側に書いたほうがいいのです。