1

機能するマルチ フレンド セレクターの作成に問題があります。

これが私がこれまでに持っているものです...

これにより、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
    }
?>

なぜこれが機能しないのか、誰かが私に説明してもらえますか?

4

0 に答える 0