Пытаюсь настроить форму на WordPress -
ссылка на сайт(самая первая форма под оффером).
Пробовал изначально настроить СF7, но она не заработала + при отправке постоянно перезагружала страницу.
Решил попробовать такой вариант с Ajax, но опять что-то не так.
Перечитал полно документации, но пока что ничего не помогло.
Страница постоянно перезагружается при отправке,
перебрасывая меня на этот адресс
Такое ощущение, что не работает preventDefault();
html
<form action="<?php echo admin_url( 'admin-ajax.php' ); ?>" >
<input type="hidden" name="action" value="forms">
<div class="form-offer__body">
<div class="form-offer__group">
<input type="text" name="user_name" data-validate-field="user_name" class="input form-offer__input input--primary" placeholder="Имя">
</div>
<div class="form-offer__group">
<input type="tel" name="user_phone" data-validate-field="user_phone" class="input form-offer__input input--primary" placeholder="Номер телефона">
</div>
<div class="form-offer__group">
<button class="button form-offer__button button--primary" type="submit">Отправить заявку</button>
<div class="policy form-offer__policy">
<input type="checkbox" name="user_checkbox" id="policy-checkbox-form-offer" class="policy__checkbox" checked>
<label for="policy-checkbox-form-offer" class="policy__label">Даю согласие на <a href="#" class="policy__label-link"> обработку данных</a></label>
</div>
</div>
</div>
</form>
jQuery
$( 'form' ).on( 'submit', function ( event ) {
event.preventDefault();
$.ajax( {
type: "POST",
url: $( this ).attr( 'action' ),
data: $( this ).serialize(),
success: function ( response ) {
var form = document.querySelectorAll( 'form' );
let event = new Event("reset");
form.forEach( function ( item ) {
item.dispatchEvent( event );
} );
},
error: function ( response ) {
console.error('Что-то пошло не так. Ошибка' + response);
}
} );
} );
functions.php
add_action( 'wp_ajax_forms', 'submit_form' );
add_action( 'wp_ajax_nopriv_form', 'submit_form' );
function submit_form() {
$data = file_get_contents( 'php://input' );
$data_str = parse_str( $data, $output );
foreach ( $output as $key => $value) {
echo $key . ' - ' . $value;
}
}
Подскажите пожалуйста, в чем может был эта проблема?