Ich benutze Facebook API, um Benutzer Vorname und Nachname, E-Mail und Stadt. Alles funktioniert gut, aber Füllung inputs
. Meine script
füllen Eingaben, aber nur wenn ich Seite neu lade. Ich muss Eingaben nach dem Drücken von login button
füllen, ohne Seite zu aktualisieren. Ist das möglich?Dynamisch Eingänge mit JavaScript füllen
Das ist mein Skript:
<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>
Und das ist zum Beispiel input
für den Vornamen:
<div class="form-group">
<label for="basketInputName">Imię</label>
<input type="text" name="client[name]" class="form-control" id="basketInputName" required>
</div>
Irgendwelche Vorschläge, was ich falsch mache?
EDIT:
Dies ist mein Login/Logout-Buttons:
<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>
Können Sie uns den Code für Ihre Login-Schaltfläche zeigen? – UncleDave
verwenden Sie entweder die Login-Schaltfläche ODER fb.login ... myFacebookLogin wird höchstwahrscheinlich nicht einmal angerufen, Sie verwenden keinen Rückruf nach der Anmeldung. – luschn
lies das: http://www.devils-heaven.com/facebook-javascript-sdk-login/ – luschn