<input type="submit" name="register_submit_button">
. Если на него кликнуть - форма отправляется и есть результаты заполненных полей. Однако, мне нужно выполнить действие перед отправкой формы. Я меняю тип инпута на "button", и в js создаю обработчик при клике на него. После выполнения необходимого кода вызываю form.submit() - страница обновляется, но никаких результатов не выводится, и форма не отправляется. В init.php даже не обрабатывается событие OnBeforeUserRegister. Как отправить форму после выполнения моего кода? $('.regForm').on("click", "input[type='button']", function(){
let form = $(this).closest('form');
grecaptcha.ready(function() {
grecaptcha.execute('6LeMYMQZAAAAAFB0UsnUXo4SgTHJ5Qy1u4gbgnk4',{action: 'registration'}).then(
function(token) {
form.find('.g_recaptcha_response').val(token);
form.submit();
}
);
});
});
define("NEED_AUTH", true);
А вот если использовать form.submit() форма не обрабатывается
$eventManager = \Bitrix\Main\EventManager::getInstance();
$events = $eventManager->findEventHandlers('main', 'OnBeforeUserRegister');
array(1) {
[0]=>
array(7) {
["FROM_MODULE_ID"]=>
string(4) "main"
["MESSAGE_ID"]=>
string(20) "OnBeforeUserRegister"
["CALLBACK"]=>
string(25) "OnBeforeUserUpdateHandler"
["SORT"]=>
int(100)
["FULL_PATH"]=>
bool(false)
["VERSION"]=>
int(1)
["TO_NAME"]=>
string(8) "callable"
}
}
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_REQUEST["register_submit_button"] <> '' && !$USER->IsAuthorized())
$('.regForm').on("click", "input[type='submit']", function(e){
e.preventDefault();
let form = $(this).closest('form');
grecaptcha.ready(function() {
grecaptcha.execute('6LeMYMQZAAAAAFB0UsnUXo4SgTHJ5Qy1u4gbgnk4',{action: 'registration'}).then(
function(token) {
form.find('.g_recaptcha_response').val(token);
form.submit();
}
);
});
});
if(count($arResult["ERRORS"]) > 0)