Javascript无法自动提交表单
我有一个代码,我想在Facebook返回用户详细信息5秒后自动提交。但是,代码无法自动提交。我找不到错误。 我的代码如下所示Javascript无法自动提交表单,javascript,facebook,Javascript,Facebook,我有一个代码,我想在Facebook返回用户详细信息5秒后自动提交。但是,代码无法自动提交。我找不到错误。 我的代码如下所示 <?php //some php functions to process the submitted form ?> <div> <div id="fb-root"></div> <script type="tex
<?php
//some php functions to process the submitted form
?>
<div>
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: 'xxxxxxxxxxxxxxxx', status: true, cookie: true, xfbml: true});
/* All the events registered */
FB.Event.subscribe('auth.login', function(response) {
login();
});
FB.Event.subscribe('auth.logout', function(response) {
logout();
});
FB.getLoginStatus(function(response) {
if (response.session) {
login();
}
});
FB.getLoginStatus(function(response) {
login();
logout();
});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
function login(){
FB.api('/me',function(response) {
if(typeof response.name != 'undefined')
{
document.getElementById('hideDiv').style.visibility = 'hidden';
document.signupForm.first_name.value=response.first_name;
document.signupForm.last_name.value=response.last_name;
document.signupForm.username.value=response.username;
document.signupForm.email.value=response.email;
}
});
}
function logout(){
//document.getElementById('login').style.display = "none";
}
setTimeout("document.signupForm.submit();",5000); //5 seconds
</script>
<form id="signupForm" name="signupForm" class="phorm2" action="" method="post">
<h3>Sign up</h3>
<div id="hideDiv">Get details from Facebook
<fb:login-button autologoutlink="true" perms="email,user_birthday,status_update,publish_stream"></fb:login-button>
</div>
<br>
<label class="short" for="first_name">First Name</label>
<input type="text" name="first_name" id="first_name" />
<br>
<label class="short" for="last_name">Last Name</label>
<input type="text" name="last_name" id="last_name" />
<br>
<label class="short" for="username">Username</label>
<input type="text" name="username" id="username" />
<br>
<label class="short" for="email">Email</label>
<input type="text" name="email" id="email"/>
<br>
<label class="short" for="submit"> </label>
<input type="submit" name="submit" value="Sign me up" class="Cart66ButtonPrimary" />
</form>
</div>
window.fbAsyninit=函数(){
init({appId:'xxxxxxxxxxxxxx',状态:true,cookie:true,xfbml:true});
/*所有事件都已登记*/
FB.Event.subscribe('auth.login',函数(响应){
登录();
});
FB.Event.subscribe('auth.logout',函数(响应){
注销();
});
FB.getLoginStatus(函数(响应){
if(response.session){
登录();
}
});
FB.getLoginStatus(函数(响应){
登录();
注销();
});
};
(功能(){
var e=document.createElement('script');
e、 类型='text/javascript';
e、 src=document.location.protocol+
“//connect.facebook.net/en_US/all.js”;
e、 异步=真;
document.getElementById('fb-root').appendChild(e);
}());
函数登录(){
FB.api('/me',函数(响应){
if(typeof response.name!=“未定义”)
{
document.getElementById('hideDiv')。style.visibility='hidden';
document.signupForm.first\u name.value=response.first\u name;
document.signupForm.last\u name.value=response.last\u name;
document.signupForm.username.value=response.username;
document.signupForm.email.value=response.email;
}
});
}
函数注销(){
//document.getElementById('login').style.display=“无”;
}
setTimeout(“document.signupForm.submit();”,5000)//5秒
注册
从Facebook获取详细信息
名字
姓
用户名
电子邮件
头一加载,代码就会运行,当时没有表单
从当前位置删除此行
setTimeout("document.signupForm.submit();",5000); //5 seconds
在这里加上
FB.api('/me',function(response) {
if(typeof response.name != 'undefined'){
document.getElementById('hideDiv').style.visibility = 'hidden';
document.signupForm.first_name.value=response.first_name;
document.signupForm.last_name.value=response.last_name;
document.signupForm.username.value=response.username;
document.signupForm.email.value=response.email;
}
setTimeout(function(){
document.signupForm.submit();
},5000); //5 seconds
// Never put a string in as parameter in setTimeout
});
你确定
login
函数启动了吗?是的。请尝试代码并查看。登录获取详细信息并填充表单,但表单未提交。setTimeout(函数(){alert('doit alert?');document.signupForm.submit();},5000)代码>