入力テキストを大文字に変換する必要がある状況があります。入力フィールドにテキストを入力するとすぐに、大文字に変換する必要があります。
これには、次のcssスタイルがあります。
style="text-transform: uppercase"
このスタイルを使用すると、テキストは大文字で自動的に入力されるため、追加の操作は必要ありませんが、Salesforceにはフィールドにスタイルを追加するオプションはありません。
これを達成する方法はありますか?
入力テキストを大文字に変換する必要がある状況があります。入力フィールドにテキストを入力するとすぐに、大文字に変換する必要があります。
これには、次のcssスタイルがあります。
style="text-transform: uppercase"
このスタイルを使用すると、テキストは大文字で自動的に入力されるため、追加の操作は必要ありませんが、Salesforceにはフィールドにスタイルを追加するオプションはありません。
これを達成する方法はありますか?
残念ながら、編集モードで標準ページレイアウトに表示されるフィールドにCSSスタイルを追加する簡単な方法はありません。ただし、検討したいオプションがいくつかあります(以下にリストされています)。
Visualforce(http://www.salesforce.com/us/developer/docs/pages/Content/pages_compref_inputText.htm)またはinputfieldコンポーネントの[inputtext]にスタイル属性を追加できます。
<apex:inputtext value="{!Widget__c.Name}" style="text-transform:uppercase;" />
代わりにCSSクラスを追加するには、styleClass
属性を使用できます。ただし、これはテキストデータの表示にのみ影響すると思います。データベースに保存するときに値が大文字であることを確認するには、onkeyup
属性(以下)でこのJavaScriptを使用します。
<apex:inputtext value="{!Widget__c.Name}" style="text-transform:uppercase;" onkeyup="var u=this.value.toUpperCase();if(this.value!=u){this.value=u;}" />
標準のページレイアウトでこれを行うには、この機能を使用するフィールドのVisualforceページを作成します。ただし、これはレコードの表示にのみ表示されます。編集では表示されません。
Visualforceページは次のようになります(ここでWidget__c
、作業しているsObjectに置き換えられます)。
<apex:page standardController="Widget__c">
<apex:form id="WidgetForm">
<apex:actionFunction name="SavePost" action="{!save}" rerender="WidgetPanel" status="str" />
<apex:outputpanel id="WidgetPanel">
<apex:inputtext id="WidgetName" value="{!Widget__c.Name}" style="text-transform:uppercase;" onkeyup="var u=this.value.toUpperCase();if(this.value!=u){this.value=u;}" />
<apex:commandbutton value="Save" styleClass="btn" onclick="SavePost();" />
<apex:actionStatus startText="Loading..." stopText="" id="str"> </apex:actionStatus>
</apex:outputpanel>
</apex:form>
</apex:page>
次に、ページレイアウトで、とのVisualforce Pages
下のカテゴリをクリックし、Visualforceページコンポーネントをレイアウトにドラッグして、Visualforceページをページレイアウトに追加します。新しいVisualforceページコンポーネントの右上にあるレンチをクリックして、高さを設定してください。Fields
Buttons
標準ページレイアウトを操作するためのもう1つのより複雑なオプションは、JavaScriptを含むホームページコンポーネントをサイドバーに追加することです。このオプションには、JavaScript(またはJavaScriptライブラリのjQuery )を正しく理解している必要があります。次に、JavaScriptはフィールドを見つけてtext-transform:uppercase;
スタイルを追加し、関数をkeyupイベントにバインドして、入力されたすべての文字を大文字(element.value.toUpperCase();
)に変換します。この方法の詳細については、JavaScriptのサイドバーコンポーネントの追加に関するTehnrdのブログ投稿を確認してください。彼はこの方法を使用して標準ページレイアウトのボタンを表示および非表示にしますが、目的に合わせて変更することもできます。