Bezpłatna standardowa wysyłka dla zamówień powyżej 420 PLN
Wyszukaj

Upominki firmowe

Zapytanie o informacjei

Do Twojego pytania zostały dodane produkty. Wskaż żądane ilości i wypełnij formularz. Skontaktuje się z Tobą jeden z naszych przedstawicieli.

Do Twojego pytania nie zostały dodane żadne produkty. W celu uzyskania dokładniejszej wyceny kliknij link, aby wyświetlić i dodać produkty do swojego pytania — lub kontynuuj bez dodawania produktów.

Veuillez saisir vos coordonnées et notre chargé de clientèle vous contactera.
Salutation *
Pani
Pan
Imię *
Nazwisko *
Stanowisko
Nazwa firmy *
Please select a country... *
Afganistan
Afrique du Sud
Albania
Algieria
Andora
Angola
Anguilla
Antarktyka
Antigua i Barbuda
Arabie saoudite
Argentyna
Armenia
Aruba
Australia
Austria
Azerbejdżan
Bahamy
Bahrajn
Bangladesz
Barbados
Belgia
Belize
Benin
Bermudy
Bhutan
Białoruś
Boliwia
Botswana
Bośnia i Hercegowina
Brazylia
Brunei Darussalam
Burkina Faso
Burundi
Bułgaria
Cambodge
Chile
Chiny
Chorwacja
Comores
Corée, République de
Corée, République populaire démocratique de
Curaçao
Cypr
Czechy
Dania
Demokratyczna Republika Konga
Dominika
Dżibuti
Egipt
Ekwador
Erytrea
Estonia
Etiopia
Falklandy
Fidżi
Finlandia
Francja
Gabon
Gambia
Georgia Południowa i Sandwich Południowy
Ghana
Gibraltar
Grecja
Grenada
Grenlandia
Gruzja
Guam
Guernsey
Gujana
Gujana Francuska
Gwadelupa
Gwatemala
Gwinea
Gwinea Bissau
Gwinea Równikowa
Haiti
Hiszpania
Holandia Karaibska
Honduras
Hongkong
Inde
Indonezja
Irak
Iran
Irlandia
Islande
Italie
Izrael
Jamaïque
Japon
Jersey
Jordanie
Kamerun
Kanada
Kazakhstan
Kenya
Kirghizistan
Kiribati
Kolumbia
Kongo
Kostaryka
Koweït
Kuba
Lesotho
Lettonie
Liban
Liberia
Liechtenstein
Lituanie
Luxembourg
Macao, RAS
Macédoine
Madagascar
Malaisie
Malawi
Maldives
Mali
Malte
Maroc
Martinique
Mauritanie
Mayotte
Mexique
Moldavie
Monaco
Mongolie
Montserrat
Monténégro
Mozambique
Myanmar
Namibie
Nauru
Nicaragua
Niemcy
Niger
Nigeria
Niue
Norvège
Nouvelle-Calédonie
Nouvelle-Zélande
Népal
Oman
Ouganda
Ouzbékistan
Pakistan
Palaos
Panama
Papouasie-Nouvelle-Guinée
Paraguay
Pays-Bas
Philippines
Pitcairn
Pologne
Polynésie française
Porto Rico
Portugal
Pérou
Qatar
Republika Dominikany
Republika Środkowoafrykańska
Roumanie
Rwanda
Région de Taïwan
République arabe syrienne
République démocratique populaire lao
République libyenne arabe
Réunion
Sahara Zachodnia
Saint-Christophe-et-Niévès
Saint-Marin
Saint-Martin (partie française)
Saint-Martin (partie néerlandaise)
Saint-Pierre-et-Miquelon
Saint-Siège (État de la Cité du Vatican)
Saint-Vincent et les Grenadines
Sainte-Hélène, Ascension et Tristan da Cunha
Sainte-Lucie
Salvador
Samoa
Samoa Amerykańskie
Sao Tomé-et-Principe
Serbie
Seychelles
Sfederowane Stany Mikronezji
Sierra Leone
Singapour
Slovaquie
Slovénie
Somalie
Soudan
Sri Lanka
Suriname
Suède
Svalbard et Jan Mayen
Swaziland
Szwajcaria
Sénégal
Tadjikistan
Tanzanie
Tchad
Terres australes françaises
Territoire britannique de l’océan Indien
Territoire palestinien
Thaïlande
Timor oriental
Togo
Tokelaou
Tonga
Trinité-et-Tobago
Tunisie
Turkménistan
Turquie
Tuvalu
Ukraine
Uruguay
Vanuatu
Venezuela
Vietnam
Wallis-et-Futuna
Wielka Brytania
Wspólnota Saint Barthélemy
Wybrzeże Kości Słoniowej
Wyspa Bouveta
Wyspa Bożego Narodzenia
Wyspa Man
Wyspy Alandzkie
Wyspy Cooka
Wyspy Heard i McDonald
Wyspy Kokosowe
Wyspy Owcze
Wyspy Zielonego Przylądka
Węgry
Yémen
Zambie
Zimbabwe
Zjednoczone Emiraty Arabskie
États-Unis
Île Maurice
Île Norfolk
Îles Caïmans
Îles Mariannes du Nord
Îles Marshall
Îles Salomon
Îles Turques-et-Caïques
Îles Vierges britanniques
Îles Vierges des États-Unis
Îles mineures éloignées des États-Unis
Telefon *
Firmowy adres e-mail *
Potwierdź firmowy adres e-mail  *
Liczba pracowników *
1-10 employés
11-50 employés
51-200 employés
201-500 employés
501-1,000 employés
1,001-5,000 employés
5,001-10,000 employés
>10,000 employés
Liczba pozostałych znaków: 1000
* Pola obowiązkowe
.on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); $(data.element).attr('aria-invalid', 'true'); // Get error messages var messages = data.fv.getMessages(data.element); // ✅ Announce error to screen readers if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true); ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]); } if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ if ($(data.element).closest('.js-advent-calendar-container').length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false); } data.fv.disableSubmitButtons(false); // ✅ Remove aria-invalid on field $(data.element).attr('aria-invalid', 'false'); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'corporateGiftsContactForm'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'corporateGiftsContactFormDefinition'; } ACC.tracking.pushFormSubmit(formId); }); var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) { var date = fieldConfigPattern.toUpperCase(); var year = $("#" + fieldConfigCode + "_year").val(); var month = $("#" + fieldConfigCode + "_month").val(); var day = $("#" + fieldConfigCode + "_day").val(); date = date.replace(/[Y]+/, year); date = date.replace(/[M]+/, month); date = date.replace(/[D]+/, day); var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden'); if (mandatory) { hiddenDateField.val(date); } else { hiddenDateField.val(date == "" ? "" : date); } }; var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) { replaceDatePatternWithValue(mandatory, fieldCode, dateFormat); $('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']'); }; var removeDateMoleculeError = function(molecule) { if(molecule.hasClass('has-error')){ molecule.removeClass('has-error'); molecule.find('.help-block').find('span').remove(); } };
$(this).closest('#corporateGiftsContactFormConfigWrapper').find('.js-corporateGiftsContactFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[corporateGiftsContactFormDefinition_title]': { trigger: 'change', validators: { notEmpty: { message: 'Wybierz tytuł', message_en: 'Wybierz tytuł' } } }, 'values[corporateGiftsContactFormDefinition_firstName]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) { messages.push('Dozwolone są tylko litery'); messagesEN.push('Dozwolone są tylko litery'); errorOccured |= true; } if (!value.trim().match(new RegExp('(?:^$)|(?:^.*[a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F]{2}.*$)|(?:^.*[^a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F. \\u3000\'\\-].*$)', ''))) { messages.push('Minimalna długość to 2 znaków'); messagesEN.push('Minimalna długość to 2 znaków'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Podaj swoje imię.', message_en: 'Podaj swoje imię.' }, stringLength: { message: 'Maksymalna długość 40 znaków dla tego pola została przekroczona', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[corporateGiftsContactFormDefinition_lastName]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[. \\u3000\'\\-a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F\\u4E00-\\u9FFF\\u3400-\\u4DBF\\u3040-\\u30FF\\uF900-\\uFAFF\\uFF66-\\uFF9F\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7FF\\u3005\\u3006\\u3024\\u3029\\u3031-\\u3035\\u0E00-\\u0E7F]*$', ''))) { messages.push('Dozwolone są tylko litery'); messagesEN.push('Dozwolone są tylko litery'); errorOccured |= true; } if (!value.trim().match(new RegExp('(?:^$)|(?:^.*[a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F]{2}.*$)|(?:^.*[^a-zA-Z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0370-\\u03FF\\u1F00-\\u1FFF\\u0400-\\u052F\\u1C80-\\u1C8F\\u2DE0-\\u2DFF\\uA640-\\uA69F. \\u3000\'\\-].*$)', ''))) { messages.push('Minimalna długość to 2 znaków'); messagesEN.push('Minimalna długość to 2 znaków'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Podaj swoje nazwisko.', message_en: 'Podaj swoje nazwisko.' }, stringLength: { message: 'Maksymalna długość 40 znaków dla tego pola została przekroczona', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[corporateGiftsContactFormDefinition_jobTitle]': { trigger: 'blur', validators: { stringLength: { message: 'Maksymalna długość 40 znaków dla tego pola została przekroczona', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[corporateGiftsContactFormDefinition_companyName]': { trigger: 'blur', validators: { notEmpty: { message: 'Wprowadź nazwę swojej firmy.', message_en: 'Wprowadź nazwę swojej firmy.' }, stringLength: { message: 'Maksymalna długość 40 znaków dla tego pola została przekroczona', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[corporateGiftsContactFormDefinition_email]': { trigger: 'blur', validators: { regexp: { regexp: new RegExp('^(?=.{0,255}$)(?=.{0,64}@)(?:(?!^\\.)(?!.*\\.@)(?!.*\\.\\.)[a-zA-Z0-9!#.$%&\'*+\/=?^_‘{|}~-]+|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f]){1,62}\")@(?!-)(?!.*\\.-)(?!.*-\\.)(?:[a-zA-Z0-9-]{1,61}\\.){1,126}(?=[a-zA-Z0-9-]*[a-zA-Z][a-zA-Z0-9-]*$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$', ''), message: 'Podaj swój firmowy adres e-mail.', message_en: 'Podaj swój firmowy adres e-mail.' }, notEmpty: { message: 'Podaj swój firmowy adres e-mail.', message_en: 'Podaj swój firmowy adres e-mail.' }, stringLength: { message: 'Liczba znaków w tym polu musi wynosić od0 do 70', message_en: 'The number of characters for this field must be between 0 and 70', min: 0 , max: 70 }, } }, 'values[corporateGiftsContactFormDefinition_emailConfirm]': { trigger: 'blur', validators: { regexp: { regexp: new RegExp('^(?=.{0,255}$)(?=.{0,64}@)(?:(?!^\\.)(?!.*\\.@)(?!.*\\.\\.)[a-zA-Z0-9!#.$%&\'*+\/=?^_‘{|}~-]+|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f]){1,62}\")@(?!-)(?!.*\\.-)(?!.*-\\.)(?:[a-zA-Z0-9-]{1,61}\\.){1,126}(?=[a-zA-Z0-9-]*[a-zA-Z][a-zA-Z0-9-]*$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$', ''), message: 'Podaj swój firmowy adres e-mail.', message_en: 'Podaj swój firmowy adres e-mail.' }, notEmpty: { message: 'Podaj swój firmowy adres e-mail.', message_en: 'Podaj swój firmowy adres e-mail.' }, stringLength: { message: 'Liczba znaków w tym polu musi wynosić od0 do 70', message_en: 'The number of characters for this field must be between 0 and 70', min: 0 , max: 70 }, identical: { field: 'values[corporateGiftsContactFormDefinition_email]', message: 'Wprowadzone wartości nie są jednakowe.', message_en: 'The fields do not match.' } } }, 'values[corporateGiftsContactFormDefinition_country]': { trigger: 'change', validators: { notEmpty: { message: 'Podaj swój kraj\/region.', message_en: 'Podaj swój kraj\/region.' } } }, 'values[corporateGiftsContactFormDefinition_phone]': { trigger: 'blur', validators: { callback: { callback: function(value, validator, $field) { var messages = []; var messagesEN = []; var errorOccured = false; if ($field.attr('regexCheckDisabled') === 'true') { return true; } if (!value.trim().match(new RegExp('^[\\\\+]{0,1}[0-9\\\\(\\\\)\\- \\\\.]*$', ''))) { messages.push('podaj numer telefonu. (Tylko liczby, bez spacji)'); messagesEN.push('podaj numer telefonu. (Tylko liczby, bez spacji)'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Podaj numer telefonu', message_en: 'Podaj numer telefonu' }, stringLength: { message: 'Maksymalna długość 20 znaków dla tego pola została przekroczona', message_en: 'You have exceeded the maximum length of 20 characters for this field', max: 20 }, callbackPhone: { alias: 'callback', message: 'Podaj numer telefonu', message_en: 'Podaj numer telefonu', callback: function (value, validator, $field) { if (value === '') { return true; } var prefixCountry = $field.siblings('.flag-container').children('.selected-flag').attr('title'); var isValidPrefix = prefixCountry !== undefined && prefixCountry !== 'Unknown'; if (!isValidPrefix) { return false; } var prefix = prefixCountry.split("+")[1]; var isMinimumLength = true; var minLength = ""; if (minLength !== null) { if (value.startsWith("+")) { if ((value.length - prefix.length - 1) < minLength) { isMinimumLength = false; } } else if (value.length < minLength) { isMinimumLength = false; } } return isMinimumLength; } }, } }, 'values[corporateGiftsContactFormDefinition_companySize]': { trigger: 'change', validators: { notEmpty: { message: '\u003Cspan style=\'color:#ff0000;\'\u003Eerror.genericConfigurableForm.global-b2bCustomerContact-companySize, error.genericConfigurableForm.companySize\u003C\/span\u003E', message_en: '\u003Cspan style=\'color:#ff0000;\'\u003Eerror.genericConfigurableForm.global-b2bCustomerContact-companySize, error.genericConfigurableForm.companySize\u003C\/span\u003E' } } }, 'values[corporateGiftsContactFormDefinition_message]': { trigger: 'blur', validators: { notEmpty: { message: 'Podaj powód kontaktu', message_en: 'Podaj powód kontaktu' }, stringLength: { message: 'Liczba znaków w tym polu musi wynosić od0 do 1000', message_en: 'The number of characters for this field must be between 0 and 1000', min: 0 , max: 1000 }, } }, } } ) .on('success.field.fv', function() { /* note: we need to check if there is an error in the form, as the plugin does a validation on field level. Validating the whole form on blur of a field is no option, as the customer does not want to see error messages on all fields when entering one field. In case of an error on at least one field we disable the submit button manually */ var $form = $(this).closest('form'); if ($form.find('.form-group.has-error').length > 0) { var $button = $form.find('.js-button'); if (!$button.hasClass('disabled')) { $button.addClass('disabled'); } } }) .on('err.field.fv', function(e, data) { /* * On error field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ data.fv.disableSubmitButtons(false); $(data.element).attr('aria-invalid', 'true'); // Get error messages var messages = data.fv.getMessages(data.element); // ✅ Announce error to screen readers if ($(data.element).closest('.js-advent-calendar-container').length > 0 && messages.length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, true); ACC.adventcalendar.announceToScreenReader('Error: ' + messages[0]); } if(data.element.closest('.form-combo-molecule').length){ /* Get the messages of field */ var messages = data.fv.getMessages(data.element); /* Get the error message content of the field */ var errorContent = data.element.closest('.form-combo-molecule').find('.errors'); /* Get the hidden error message of the field */ var errorField = errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"][style="display: none;"]'); /* Loop over the messages */ for (var i in messages) { if (errorField[1] == undefined) { var newErrorContainer = document.createElement("small"); $(newErrorContainer).attr("class", "swa-form-input__error-message swa-headline-sans--supertiny"); $(newErrorContainer).attr("data-field", data.field); $(newErrorContainer).attr("data-fv-validator", "callback"); $(newErrorContainer).attr("data-fv-for", $(data.element[0]).attr("name") ); $(newErrorContainer).attr("data-fv-result", "INVALID"); $(newErrorContainer).attr("data-tracked", "true"); $(newErrorContainer).html(messages[i]); if (errorContent.text().includes(messages[i])) { $(newErrorContainer).hide(); } errorContent.append(newErrorContainer); } } } }) .on('success.field.fv', function(e, data) { /* * On success field validation, enable submit button. * Source: https://old.formvalidation.io/examples/enabling-submit-button/ */ if ($(data.element).closest('.js-advent-calendar-container').length > 0 && window.ACC && window.ACC.adventcalendar && typeof ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes === 'function') { const selectedField = data.element.attr('id'); ACC.adventcalendar.adventcalendarUpdateErrorSpanAttributes(selectedField, false); } data.fv.disableSubmitButtons(false); // ✅ Remove aria-invalid on field $(data.element).attr('aria-invalid', 'false'); /* Remove the field messages */ $errorContent = data.element.closest('.form-combo-molecule').find('.errors'); $errorContent.find('.swa-form-input__error-message[data-field="' + data.field + '"]').remove(); $errorContent.find('.swa-form-input__error-message[data-fv-result="INVALID"]').removeAttr("style"); }) .on('success.form.fv', function() { var formId = 'corporateGiftsContactForm'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'corporateGiftsContactFormDefinition'; } ACC.tracking.pushFormSubmit(formId); }); var replaceDatePatternWithValue = function(mandatory, fieldConfigCode, fieldConfigPattern) { var date = fieldConfigPattern.toUpperCase(); var year = $("#" + fieldConfigCode + "_year").val(); var month = $("#" + fieldConfigCode + "_month").val(); var day = $("#" + fieldConfigCode + "_day").val(); date = date.replace(/[Y]+/, year); date = date.replace(/[M]+/, month); date = date.replace(/[D]+/, day); var hiddenDateField = $('.js-' + fieldConfigCode + '_hidden'); if (mandatory) { hiddenDateField.val(date); } else { hiddenDateField.val(date == "" ? "" : date); } }; var triggerFormValidation = function(fieldId, mandatory, fieldCode, dateFormat) { replaceDatePatternWithValue(mandatory, fieldCode, dateFormat); $('.js-fieldCode').formValidation('revalidateField', 'values[fieldCode_'+ fieldId + ']'); }; var removeDateMoleculeError = function(molecule) { if(molecule.hasClass('has-error')){ molecule.removeClass('has-error'); molecule.find('.help-block').find('span').remove(); } };