2

状況

Drupal Form API を使用していくつかのフォームを実装しています。ユーザーの選択の結果として、視覚化 (面グラフ、タイム ラインなど) を表示する必要があります。そこでは、Google の JS ライブラリを読み込み、データを送信して視覚化を div 要素に表示する必要があります。

私がやった事:

フォームの送信ハンドラー関数で drupal_add_js を使用して、ローカルの JavaScript ファイル (これにより Google VIZ API が読み込まれます) をロードしようとしましたが、< DIV> 要素に echo を使用して HTML コードを追加しました。

問題:

どうやらこれはうまくいきません。解決策または代替方法を提案してください。私が考えているのは、すべての HTML および JavaScript コードがある別のノードに form_redirect を使用することですが、結果を同じ URL に表示したいと考えています。詳細や説明が必要な場合は、コメントしてください。

お待ちいただいてありがとうございます。

4

1 に答える 1

0

drupal フォームに html マークアップを追加するには、'#type' = 'markup' を使用できます。

http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/#markup

(実際、これはフォーム要素のデフォルトのタイプであるため、省略できます。)

ただし、submit 関数に JavaScript を追加するのは遅すぎるように思えます。それをフォームに (おそらく hook_form_alter() を介して) 追加し、適切なフィールドが入力されたときにトリガーしてみてください。

于 2010-10-27T19:56:21.910 に答える