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#')" 它就可以了。所以我的问题一定在我调用这个函数的方式之内。我对 PHP 比 JS 更舒服。

<?php 

    if (!empty($_POST['sendto_id'])) {
        ?>
        <script> sendRequest(<?php echo $_POST['sendto_id']; ?>);</script>
        <?php 
        // some more code
    }
?>

有人可以向我解释为什么这不起作用吗?

4

0 回答 0