1

Oracle APEXアプリケーションのページのヘッダーにJavaScriptを実装しようとしています。デフォルトでは、顧客データが存在する場合、フォームのフィールドは無効になりますが、[ロック解除] ボタンをクリックして編集モードにすることができます。ボタンをクリックすると EnableItems() が実行されますが、フォームは再送信されません。実行されるのは js 関数だけです。

function DisableItems()
{
$x_disableItem('P31_TITLE',true);
}
function EnableItems()
{
$x_disableItem('P31_TITLE',false);
}

フォームが空の場合、すべてのフィールドを編集できるようにする必要があります。

Javascriptでは>>ページの読み込み時に実行する

PageStart();

ここで、有効モードまたは無効モードをロードするかどうかをページが認識できるように、3 番目のコードが必要です。私が持っていることをするために

 function PageStart(){
 if ($x('P31_TEST2').value == "") {
 EnableItems();
 }
 else {
 DisableItems();
  }
 }

問題は、このコードの 2 行目にあり、フィールドに値を割り当てるか、Apex フィールドから値を収集するためにフラグを設定する必要があります。これにより、最初または 2 番目の関数のいずれかがトリガーされますが、何がベスト プラクティスであるかはよくわかりません。その周りに。どんな考えでも大歓迎です。

4

1 に答える 1

1

P31_START_ENABLED: 非表示のアイテム、保護された値 = いいえ。開始値を指定します。たとえば、ここで値は「Y」または「N」で、有効な Y/N を示します。

function PageStart(){
   if($v("P31_START_ENABLED")=='Y') {
      EnableItems();
   } else {
      DisableItems();
   };
};

function DisableItems()
{
   $s("P31_START_ENABLED", 'N');
   $x_disableItem('P31_TITLE',true);
};
function EnableItems()
{
   $s("P31_START_ENABLED", 'Y');
   $x_disableItem('P31_TITLE',false);
};
于 2013-01-21T15:47:41.760 に答える