0

入力テキストを大文字に変換する必要がある状況があります。入力フィールドにテキストを入力するとすぐに、大文字に変換する必要があります。

これには、次のcssスタイルがあります。

 style="text-transform: uppercase"

このスタイルを使用すると、テキストは大文字で自動的に入力されるため、追加の操作は必要ありませんが、Salesforceにはフィールドにスタイルを追加するオプションはありません。

これを達成する方法はありますか?

4

1 に答える 1

1

残念ながら、編集モードで標準ページレイアウトに表示されるフィールドにCSSスタイルを追加する簡単な方法はありません。ただし、検討したいオプションがいくつかあります(以下にリストされています)。


Visualforce

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;}" />

標準のページレイアウト

オプション1:Visualforceページを標準のページレイアウトに埋め込む

標準のページレイアウトでこれを行うには、この機能を使用するフィールドの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ページコンポーネントの右上にあるレンチをクリックして、高さを設定してください。FieldsButtons

オプション2:サイドバーコンポーネントを使用して標準ページレイアウトでJavaScriptを使用する

標準ページレイアウトを操作するためのもう1つのより複雑なオプションは、JavaScriptを含むホームページコンポーネントをサイドバーに追加することです。このオプションには、JavaScript(またはJavaScriptライブラリのjQuery )を正しく理解している必要があります。次に、JavaScriptはフィールドを見つけてtext-transform:uppercase;スタイルを追加し、関数をkeyupイベントにバインドして、入力されたすべての文字を大文字(element.value.toUpperCase();)に変換します。この方法の詳細については、JavaScriptのサイドバーコンポーネントの追加に関するTehnrdのブログ投稿を確認してください。彼はこの方法を使用して標準ページレイアウトのボタンを表示および非表示にしますが、目的に合わせて変更することもできます。

于 2012-04-19T14:27:16.167 に答える