Nav*_*arr 10 javascript facebook registration xfbml facebook-social-plugins
我正在尝试在网站上实施Facebook注册.如果没有onvalidate参数,一切都会像人们期望的那样工作,但是当包含它时,一切似乎都会崩溃(没有抛出错误,表单什么都不做).
这是我的代码:
<center>
<fb:registration redirect-uri="http://im.localhost/register"
fields='[{"name":"name"},{"name":"username","description":"Website Username","type":"text"},{"name":"email"},{"name":"password","view":"not_prefilled"},{"name":"captcha","view":"not_prefilled"},{"name":"tos","type":"checkbox","description":"I accept the Terms of Service"}]' onvalidate='validate'>
</fb:registration>
</center>
<script>
function validate(form) {
console.log('Validation');
errors = {};
errors.tos = "You must accept the terms of service";
return errors;
}
</script>
<!-- at end of page: -->
<script>
// ...
FB.init({
appId: '<?php echo IM_Facebook::getAppIDStatically(); ?>',
channelUrl: '<?php echo $this->serverUrl().$this->baseUrl('/xsrd.html'); ?>',
status: true,
cookie: true,
xfbml: true
});
// ...
</script>
Run Code Online (Sandbox Code Playgroud)
在点击表单的提交按钮时,从不调用console.log函数.(但是,否则它几乎正常 - 弹出"你已经使用abc注册"显示并在我点击确认时消失 - 但没有其他事情发生.
如果我在没有此参数的情况下将自定义字段(用户名)留空,Facebook会要求我填写它.如果我将此参数留空,则不会调用validate函数,也不会显示任何错误.无论哪种方式,根据这种形式应该总是显示的TOS错误永远不会出现.
类似问题的问题涉及网站URL与应用程序的URL不匹配.在这种情况下,情况并非如此.
对于域名澄清,我使用的域名为"im.localhost",无法通过互联网访问.我不相信这是一个问题,因为如果没有onvalidate注册表单工作,登录系统我已经实现了工作.但是,使用onvalidate,注册表将根本不再起作用.
onvalidate="validate()"
Run Code Online (Sandbox Code Playgroud)
onvalidate="validate" 你只是调用一个字符串......
你需要括号来调用函数
| 归档时间: |
|
| 查看次数: |
1004 次 |
| 最近记录: |