J'utilise Facebook Api, pour obtenir le prénom, le nom, le courriel et la ville de l'utilisateur. Tout fonctionne bien mais en remplissant inputs
. Mes script
remplissent les entrées, mais seulement quand je recharge la page. J'ai besoin de remplir les entrées après avoir appuyé sur login button
, sans actualiser la page. Est-ce possible?Dynamiquement remplir les entrées avec JavaScript
Ceci est mon script:
<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>
Et cela est par exemple input
pour le premier nom:
<div class="form-group">
<label for="basketInputName">Imię</label>
<input type="text" name="client[name]" class="form-control" id="basketInputName" required>
</div>
Toutes les suggestions que je fais mal?
EDIT:
Voici mes boutons de connexion/déconnexion:
<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>
Pourriez-vous nous indiquer le code d'activation de votre compte? – UncleDave
soit utiliser le bouton de connexion OU fb.login ... myFacebookLogin ne sera probablement même pas appelé, vous n'utilisez aucun rappel après la connexion. – luschn
lire ceci: http://www.devils-heaven.com/facebook-javascript-sdk-login/ – luschn