Я пытаюсь осуществить регистрацию Facebook на веб-сайте. Без параметра onvalidate все работает так, как можно было бы ожидать, но при его включении все, кажется, ломается (ошибки не выбрасываются, форма ничего не делает).<fb: registration 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>
console.log функция никогда не вызывается на ударять кнопку отправки формы. (Тем не менее, в противном случае он действует почти нормально - всплывающее сообщение «Вы зарегистрировались с использованием abc» появляется и исчезает, когда я нажимаю «подтвердить», но ничего не происходит.
Если я оставил пользовательское поле (имя пользователя) пустым без этого параметра , Facebook просит меня заполнить его. Если я оставлю его пустым с этим параметром, функция проверки не вызывается, и она не показывает никаких ошибок. В любом случае ошибка TOS, которая всегда должна отображаться в соответствии с этой формой, никогда не отображается вверх. проблемы
подобные вопросы включать адрес веб-сайта, не совпадающее приложения. это не так, то в этом случае.
для домена разъяснении, я использую домен «im.localhost», который недоступен через Интернет. Я не считаю, что это проблема, потому что без onvalidate работает регистрационная форма, и система входа в систему, которую я выполнил, работает. Однако с подтверждением регистрации регистрационная форма вообще перестает работать.
не очень знакомы с этим материалом, но вы уверены, что правильный синтаксис не является 'onvalidate =" validate() "' –
@ZachL Выполнение, как вы описали результаты в: «Не удалось загрузить регистрационную форму для% appname (самофильтрованное)%. Возможно, вы заблокировали это приложение ранее на Facebook Перейдите в настройки конфиденциальности Facebook, чтобы разблокировать это приложение. (Ошибка: просто передайте имя функции javascript в 'onvalidate', не ставьте().) " – Navarr
Als o, возможно, это поможет, если вы покажете сгенерированный источник ... –