0
我使用Facebook Api,獲取用戶的名字,電子郵件和城市。 一切正常,但填寫inputs
。我的script
填充輸入,但只有當我重新加載頁面。在按下login button
後,我需要填寫輸入,而不刷新頁面。那可能嗎?使用JavaScript動態填充輸入
這是我的腳本:
<script>
function getUserData() {
FB.api('/me?fields=first_name,last_name,email,location', function(response) {
var imie = document.getElementById('basketInputName');
if(!imie || !imie.value)
imie.value = response.first_name;
var nazwisko = document.getElementById('basketInputLastName');
if(!nazwisko || !nazwisko.value)
nazwisko.value = response.last_name;
var email = document.getElementById('basketInputMail');
if(!email || !email.value)
email.value = response.email;
var location = document.getElementById('inputCityTo');
if(!location || !location.value)
location.value = response.location.name;
});
}
window.fbAsyncInit = function() {
FB.init({
appId : '134824563795810',
autoLogAppEvents : true,
xfbml : true,
version : 'v2.10'
});
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
//user is authorized
document.getElementById('loginBtn').style.display = 'none';
getUserData();
} else {
document.getElementById('logoutBtn').style.display = 'none';
}
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function myFacebookLogin() {
FB.login(function(){
getUserData();
}, {scope: 'user_location'});
}
</script>
這是例如input
第一個名字:
<div class="form-group">
<label for="basketInputName">Imię</label>
<input type="text" name="client[name]" class="form-control" id="basketInputName" required>
</div>
任何建議我做錯了嗎?
編輯:
這是我的登錄/註銷按鈕:
<fb:login-button id="loginBtn" show-faces="false" height="200" width="200" max-rows="1" scope="email,user_location,public_profile" onclick="myFacebookLogin();">Kontynuuj przez facebook</fb:login-button>
<fb:login-button id="logoutBtn" autologoutlink="true"></fb:login-button>
你能告訴我們你登錄按鈕的代碼嗎? – UncleDave
要麼使用登錄按鈕或fb.login ... myFacebookLogin很可能不會被調用,您登錄後沒有使用任何回調。 – luschn
閱讀此:http://www.devils-heaven.com/facebook-javascript-sdk-login/ – luschn