プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 14.2 ADD_ATTRIBUTEファンクションのシグネチャ1

このファンクションは、属性と、その属性の二重引用符で囲まれたエスケープされたテキストを戻します。

注意:

このファンクションは、HTMLタグはエスケープしません。HTMLタグがJavaScriptオブジェクトの属性の割当てに悪影響を与えないようにするだけです。XSS(クロスサイト・スクリプティング)攻撃を防ぐには、`SYS.HTF.ESCAPE_SC`をコールして、HTMLページに文字列を差し込む際に、埋め込まれたJavaScriptコードが実行されるのを防ぐ必要もあります。

構文

    APEX_JAVASCRIPT.ADD_ATTRIBUTE (
        p_name       IN VARCHAR2,
        p_value      IN VARCHAR2,
        p_omit_null  IN BOOLEAN:=TRUE,
        p_add_comma  IN BOOLEAN:=TRUE)
    RETURN VARCHAR2;

パラメータ

表14-2 ADD_ATTRIBUTEのシグネチャ1のパラメータ

パラメータ | 説明
--- | ---
`p_name` | JavaScriptオブジェクト属性の名前。
`p_value` | JavaScriptオブジェクト属性に割り当てられるテキスト。
`p_omit_null` | TRUEを設定すると、`p_value`が空の場合にNULL.が戻されます。
`p_add_comma` | TRUEを設定すると、戻される値の後にカンマが追加されます。

例

`addEmployee` JavaScriptファンクションへのコールを追加し、様々な属性値を持つJavaScriptオブジェクトを渡します。このコールの出力は、次のようになります。

    addEmployee(
      {"FirstName":"John",
       "LastName":"Doe",
       "Salary":2531.29,
       "Birthday":new Date(1970,1,15,0,0,0),
       "isSalesman":true
      });

最後の属性では、False(`p_omit_null`)とFALSE(`p_add_comma`)という組合せのパラメータを使用して、最後の属性が常に生成されるようにする必要があります。これによって、後続のカンマを追加する必要があるかどうかについて、他のパラメータを調べる必要がなくなります。

    apex_javascript.add_onload_code (
        'addEmployee('||
            '{'||
            apex_javascript.add_attribute('FirstName',  sys.htf.escape_sc(l_first_name))||
            apex_javascript.add_attribute('LastName',   sys.htf.escape_sc(l_last_name))||
            apex_javascript.add_attribute('Salary',     l_salary)||
            apex_javascript.add_attribute('Birthday',   l_birthday)||
            apex_javascript.add_attribute('isSalesman', l_is_salesman, false, false)||
            '});' );