我在创建一个有效的多朋友选择器时遇到了麻烦。
这是我到目前为止...
这会加载我的 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
}
?>
有人可以向我解释为什么这不起作用吗?