機能するマルチ フレンド セレクターの作成に問題があります。
これが私がこれまでに持っているものです...
これにより、facebook SDK と、ダイアログ リクエストを送信するために呼び出す必要がある関数「sendRequest」が読み込まれます。
<div id="fb-root"></div>
<script>
// init the FB-JS-SDK
window.fbAsyncInit = function() {
FB.init({
appId: 'APP_ID', // App ID from the App Dashboard
status: true, // check the login status upon init?
cookie: true, // set sessions cookies to allow your server to access the session?
xfbml: true // parse XFBML tags on this page?
});
// Additional initialization code such as adding Event Listeners goes here
};
function sendRequest(userid) {
FB.ui({
method: 'apprequests',
message: 'Check out this application!',
to: userid,
title: 'Test request',
});
return false;
}
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
これが私の簡単なフォームです。PHP を使用して友達のリストを作成します。この部分は正常に動作します...
<form name="start_trial_form" method="POST" action="index.php">
<?php
foreach ($usr_friends['data'] as $friend) {
echo '<label><input type="checkbox" name="sendto_id" value="'.$friend['id'].'"/> <img src="https://graph.facebook.com/' . $friend['id'] . '/picture" title="' . $friend['name'] . '"/>' . $friend['name'] . '</label>';
}
?>
<input type="text" name="title" placeholder="title"/>
<textarea name="text"></textarea>
<button type="submit">Submit</button>
</form>
これは、フォームが送信された後に実行される if ステートメントです。私の問題は、ここから sendRequest を実行しようとしても何も起こらないことです...送信ボタン内に -> onlick="sendRequest('someid#')" を配置すると、問題なく動作します。したがって、私の問題は、この関数を呼び出す方法にあるに違いありません。私はJSよりもPHPの方がずっと快適です。
<?php
if (!empty($_POST['sendto_id'])) {
?>
<script> sendRequest(<?php echo $_POST['sendto_id']; ?>);</script>
<?php
// some more code
}
?>
なぜこれが機能しないのか、誰かが私に説明してもらえますか?