0

Facebook の fb:dialog タグを使用して、ユーザーが入力する簡単なポップアップ フォームを表示したいのですが、(ajax 要求の ondone ハンドラーで) javascript を使用してそのダイアログを表示したいです。

これは可能ですか?私は暗闇の中で突き刺し、document.getElementById('dialog_id').show() を試しましたが、show() はメソッドではありません。

代わりに FBJS Dialog クラスがありますが、私が知る限り、それを使用して単純なアラート/確認スタイルのダイアログを作成することしかできません。誰かが任意のコンテンツをそれらに入れる方法を知っていれば、それも私の問題を解決するかもしれません.

4

2 に答える 2

2

FBJS ダイアログ ボックス内に任意のコンテンツを配置できます。

まず、任意の fbml を fb:js-string タグに保存します。

<fb:js-string var="whatever">
<!-- HTML/fbml here -->
</fb:js-string>

次に、fbjs で次のようにします。

(new Dialog()).showMessage('title',whatever); 
于 2010-03-06T00:33:55.580 に答える
1

理解した。

http://wiki.developers.facebook.com/index.php/FBJS/Examples/Dialogsに埋もれているのが答えです。

基本的に<fb:js-string>、フォームのコンテンツを含む要素を作成し、showChoice() メソッドを使用してその文字列をダイアログのコンテンツとして指定します。

関連する例を次に示します。

<a href="#" id="dialog_body" onclick="var dialog = new Dialog().showChoice('Important Dialog', dialog_color, 'Okay', 'Nevermind');
dialog.onconfirm = function() {
  var color = document.getElementById('dialog_color_select').getValue();
  document.getElementById('dialog_body').setStyle({background: color});
};
return false;">
A dialog that changes your colors...</a><br />

<fb:js-string var="dialog_color">
<b>What color would you like this set to be?</b><br />
<select id="dialog_color_select">
<option value="transparent">Default</option>
<option value="blue">Blue</option>
<option value="red">Red</option>
<option value="yellow">Yellow</option>
</select>
</fb:js-string>
于 2010-03-06T00:35:11.850 に答える