1

以下のように、jquery の load 関数を使用して、coldfusion アプリではないページから coldfusion ページを読み込もうとしています。

  $("#eventboxol").load('/cfapps/homepage_updates/deleteevent.cfm?eventid='+id);

ページは正常に読み込まれ、機能しますが、日付フィールドとリッチ テキスト エリアは機能しません。日付フィールドをクリックしても何も起こらず、リッチ テキスト エリアが通常のテキスト エリアとして表示されます。これは、呼び出しページが Coldfusion ページではないことが原因である可能性があると推測しています。負荷に CFM ページを強制的に処理させる方法はありますか?

編集:これらは正しくレンダリングされていないフィールドです:

<cftextarea html="no" width="220" height="60" richtext="yes" toolbar="BasicLink" toolbarOnFocus="true" name="description" required="true"></cftextarea>
<cfinput type="datefield" name="enddate" maxlength="30">

ロード機能を使用する代わりにページに直接アクセスすると、期待どおりに機能します。

4

2 に答える 2

2

これは、DOM 内で必要なマークアップ (cfml ページから) が実際に利用可能になる前に、JavaScript コントロール (つまり、おそらく $("#datepicker").datepicker()) メソッドを初期化しようとしているように思えます。

つまり、最初に cfml ページをロードするようにしてください。ロードが完了した後にのみ、JavaScript を実行して日付ピッカーとリッチ テキスト エディターを初期化します (つまり、これはロード メソッドのコールバックが成功したときに発生するはずです)。

疑似コード

$('#content').load('ajax/cfml_page.cfm', function() {
  // setup js controls
});

それが役立つことを願っています

編集:おっと、組み込みの cfml フォーム コントロールを使用しようとしていることがわかりましたが、私の答えはそれほど関連性がありません。javascript をスリムにして柔軟性を高めるために、組み込みの cfml フォーム コントロールを放棄し、jqueryui または別のライブラリを使用してこのタスクを実行することを検討する価値があるかもしれません。

于 2012-10-30T19:15:39.947 に答える
0

ID="controlName" を両方の coldfusion プロパティに追加してみてください。IDではなく名前を付けるだけです。

--- 申し訳ありませんが、回答を削除する方法がわかりません。フィールドにアクセスできないと思って質問を読み間違えました。

于 2012-10-30T19:18:48.300 に答える