Files
2026-09-15 10:35:56 +08:00

48 lines
1.5 KiB
JavaScript

define([
'jquery',
'mage/validation'
], function ($) {
'use strict';
return function (config, element) {
var $form = $(element);
var $submit = $form.find('[type="submit"]');
var $status = $form.find('[data-role="application-status"]');
$form.validation();
$form.on('submit.agentApplication', function (event) {
event.preventDefault();
if (!$form.validation('isValid')) {
return;
}
$submit.prop('disabled', true).addClass('disabled');
$status.removeClass('success error').empty();
$.ajax({
url: $form.attr('action'),
type: 'POST',
dataType: 'json',
data: $form.serialize()
}).done(function (response) {
if (response.success) {
$form[0].reset();
$status.addClass('success').text(response.message);
} else {
$status.addClass('error').text(response.message);
}
}).fail(function (xhr) {
var response = xhr.responseJSON || {};
$status.addClass('error').text(
response.message || $.mage.__('Unable to submit your application. Please try again later.')
);
}).always(function () {
$submit.prop('disabled', false).removeClass('disabled');
});
});
};
});