Google将电子邮件地址登录到隐藏字段

时间:2016-11-14 20:42:24

标签: javascript forms google-signin

我尝试使用https://developers.google.com/identity/sign-in/web/sign-in在HTML隐藏表单字段中捕获Google用户名和Google电子邮件地址,但我遇到了麻烦。以下是我的代码。我是JavaScript的新手。谢谢你的帮助!

    <script src="https://apis.google.com/js/platform.js" async defer></script>
<form action="/student/webdesign/2016/02_benrud/tinker/googleVerify/loginHandler.php" method="post" name="form1" id="form1">

  <p>
    <input name="namelGoogle" type="hidden" id="nameGoogle" value="">
    <input name="mailGoogle" type="hidden" id="mailGoogle" value="">
  </p>
  <p> 
    <input type="submit" name="submit" id="submit" value="Submit">
  </p>
</form>


<div class="g-signin2" data-onsuccess="onSignIn"></div>

<script>
function onSignIn(googleUser) {
  var profile = googleUser.getBasicProfile();
  console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
  console.log('Name: ' + profile.getName());
  console.log('Image URL: ' + profile.getImageUrl());
  console.log('Email: ' + profile.getEmail());
  document.getElementById("mailGoogle").value = profile.getName();
  document.getElementById("nameGoogle").value = profile.getEmail();
}

</script>

控制台的屏幕截图

http://i.imgur.com/64IxLka.png

我希望在名为&#34; mailGoogle&#34;的隐藏字段中捕获电子邮件信息。

我希望在名为&#34; nameGoogle&#34;的隐藏字段中捕获名称信息。

  1. 我需要对<script> </script>标记(如果有)进行哪些更改
  2. 我需要对<input name="emailGoogle" type="hidden" id="mailGoogle" value="I want email from google here">代码
  3. 进行哪些更改

    我是JavaScript新手。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

document.getElementById("mailGoogle").value = profile.getName();
document.getElementById("nameGoogle").value = profile.getEmail();

让您在隐藏的字段中识别您的ID,这应该可以满足您的需求。

JQuery方式可以如下工作:

$('#nameGoogle').val(profile.getName());
$('#mailGoogle').val(profile.getEmail());