Livraison standard gratuite pour
une commande supérieure à 95 CHF
*Champs obligatoires
Salutation *
女士∕小姐
先生
Prénom *
Nom *
Intitulé du poste
Nom de la société : *
Veuillez choisir un pays *
不丹
中國大陸
中非共和國
丹麥
亞塞拜然
亞美尼亞
以色列
伊拉克
伊朗
保加利亞
克羅埃西亞
冰島
列支敦斯登
利比亞阿拉伯群眾國
剛果
剛果民主共和國
加彭
加拿大
匈牙利
北馬利安納群島
千里達及托巴哥
南喬治亞及南三明治群島
南極洲
南非
卡達
印尼
印度
厄利垂亞
厄瓜多
古巴
古拉索
可可斯(基林)群島
台灣地區
史瓦濟蘭
吉布地
吉爾吉斯
吉里巴斯
吐瓦魯
哈薩克
哥倫比亞
哥斯大黎加
喀麥隆
喬治亞
土克凱可群島
土庫曼
土耳其
坦尚尼亞
埃及
塔吉克
塞內加爾
塞席爾
塞爾維亞
墨西哥
多哥
多明尼加共和國
多米尼克
大韓民國
奈及利亞
奧地利
奧蘭群島
委內瑞拉
孟加拉
安吉拉
安哥拉
安地卡及巴布達
安道爾
密克羅尼西亞聯邦
寮人民民主共和國
尚比亞
尼加拉瓜
尼日
尼泊爾
巴勒斯坦地區
巴哈馬
巴基斯坦
巴布亞紐幾內亞
巴拉圭
巴拿馬
巴林
巴西
巴貝多
布吉納法索
希臘
帛琉
幾內亞
幾內亞比索
庫克群島
德國
愛沙尼亞
愛爾蘭
所羅門群島
托克勞
拉脫維亞
挪威
捷克共和國
摩洛哥
摩爾多瓦
摩納哥
教廷(梵蒂岡城國)
斐濟
斯洛伐克
斯洛維尼亞
斯瓦巴及尖棉
斯里蘭卡
新加坡
新喀里多尼亞
日本
智利
曼島
朝鮮民主主義人民共和國
東加
東帝汶
查德
柬埔寨
格瑞那達
格陵蘭
模里西斯
比利時
汶萊和平之國
沙烏地阿拉伯
法國
法屬南部屬地
法屬圭亞那
法屬波里尼西亞
法屬聖馬丁
法羅群島
波士尼亞與赫塞哥維納
波多黎各
波奈、聖佑達修斯及荷屬沙巴
波札那
波維特島
波蘭
泰國
洪都拉斯
海地
澤西島
澳洲
澳門特別行政區
烏克蘭
烏干達
烏拉圭
烏茲別克
牙買加
獅子山
玻利維亞
瑞典
瑞士
瓜地洛普
瓜地馬拉
瓦利斯群島和富圖那群島
甘比亞
留尼旺
白俄羅斯
百慕達
皮特凱恩
盧安達
盧森堡
直布羅陀
福克蘭群島
科威特
秘魯
突尼西亞
立陶宛
約旦
納米比亞
紐埃
紐西蘭
索馬利亞
維德角島
緬甸
羅馬尼亞
美國
美國邊疆群島
美屬維京群島
美屬薩摩亞
義大利
耿西島
聖克里斯多福及尼維斯
聖多美普林西比
聖巴瑟米
聖文森及格瑞那丁
聖皮埃與密克隆群島
聖誕島
聖赫勒拿、亞森欣、特里斯坦達庫尼亞群島
聖露西亞
聖馬利諾
肯亞
芬蘭
英國
英屬印度洋領地
英屬維京群島
茅利塔尼亞
荷屬聖馬丁
荷蘭
莫三比克
菲律賓
萬那杜
葉門
葛摩
葡萄牙
蒙古
蒙哲臘
蒲隆地
蓋亞那
薩摩亞
薩爾瓦多共和國
蘇丹
蘇利南
衣索比亞
西撒哈拉
西班牙
諾福客島
諾魯
象牙海岸
貝南
貝里斯
賴比瑞亞
賴索托
賽普勒斯
赤道幾內亞
赫德島與麥當勞群島
越南
辛巴威
迦納
開曼群島
關島
阿富汗
阿拉伯敘利亞共和國
阿拉伯聯合大公國
阿曼
阿根廷
阿爾及利亞
阿爾巴尼亞
阿魯巴
香港特別行政區
馬丁尼克
馬來西亞
馬其頓
馬利
馬拉威
馬爾他
馬爾地夫
馬約特島
馬紹爾群島
馬達加斯加
黎巴嫩
黑山
Téléphone *
Adresse e-mail professionnelle *
Confirmez l’adresse e-mail professionnelle  *
Nombre d’employés *
1-10 僱員
11-50 僱員
51-200 僱員
201-500 僱員
501-1,000 僱員
1,001-5,000 僱員
5,001-10,000 僱員
>10,000 僱員
1000 caractères restant
.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); 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/ */ data.fv.disableSubmitButtons(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 = 'professionalCustomersContactForm'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'professionalCustomersContactFormDefinition'; } 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('#professionalCustomersContactFormConfigWrapper').find('.js-professionalCustomersContactFormConfig') .formValidation( { autoFocus: false, framework: 'bootstrap', icon: { valid: null, invalid: null, validating: null }, fields: { 'values[professionalCustomersContactFormDefinition_title]': { trigger: 'change', validators: { notEmpty: { message: 'Veuillez choisir un titre.', message_en: 'Veuillez choisir un titre.' } } }, 'values[professionalCustomersContactFormDefinition_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('Écrivez des lettres uniquement (sans points)'); messagesEN.push('Écrivez des lettres uniquement (sans points)'); 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('La longueur minimum est de 2 caractères'); messagesEN.push('La longueur minimum est de 2 caractères'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Veuillez entrer votre nom.', message_en: 'Veuillez entrer votre nom.' }, stringLength: { message: 'Vous avez dépassé la longueur maximum des 40 caractères autorisés pour ce champ', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_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('Écrivez des lettres uniquement (sans points)'); messagesEN.push('Écrivez des lettres uniquement (sans points)'); 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('La longueur minimum est de 2 caractères'); messagesEN.push('La longueur minimum est de 2 caractères'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Merci d\'entrer votre nom', message_en: 'Merci d\'entrer votre nom' }, stringLength: { message: 'Vous avez dépassé la longueur maximum des 40 caractères autorisés pour ce champ', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_jobTitle]': { trigger: 'blur', validators: { stringLength: { message: 'Vous avez dépassé la longueur maximum des 40 caractères autorisés pour ce champ', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_companyName]': { trigger: 'blur', validators: { notEmpty: { message: 'Veuillez indiquer le nom de votre société.', message_en: 'Veuillez indiquer le nom de votre société.' }, stringLength: { message: 'Vous avez dépassé la longueur maximum des 40 caractères autorisés pour ce champ', message_en: 'You have exceeded the maximum length of 40 characters for this field', max: 40 }, } }, 'values[professionalCustomersContactFormDefinition_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: 'Veuillez indiquer votre adresse e-mail professionnelle', message_en: 'Veuillez indiquer votre adresse e-mail professionnelle' }, notEmpty: { message: 'Veuillez indiquer votre adresse e-mail professionnelle', message_en: 'Veuillez indiquer votre adresse e-mail professionnelle' }, stringLength: { message: 'Le nombre de caractères de ce champ doit être compris entre 0 et 70', message_en: 'The number of characters for this field must be between 0 and 70', min: 0 , max: 70 }, } }, 'values[professionalCustomersContactFormDefinition_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: 'Veuillez indiquer votre adresse e-mail professionnelle', message_en: 'Veuillez indiquer votre adresse e-mail professionnelle' }, notEmpty: { message: 'Veuillez indiquer votre adresse e-mail professionnelle', message_en: 'Veuillez indiquer votre adresse e-mail professionnelle' }, stringLength: { message: 'Le nombre de caractères de ce champ doit être compris entre 0 et 70', message_en: 'The number of characters for this field must be between 0 and 70', min: 0 , max: 70 }, identical: { field: 'values[professionalCustomersContactFormDefinition_email]', message: 'Les champs ne correspondent pas.', message_en: 'The fields do not match.' } } }, 'values[professionalCustomersContactFormDefinition_country]': { trigger: 'change', validators: { notEmpty: { message: 'Veuillez entrer votre pays\/région.', message_en: 'Veuillez entrer votre pays\/région.' } } }, 'values[professionalCustomersContactFormDefinition_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('Veuillez indiquer votre numéro de téléphone. (chiffres seulement, sans espaces)'); messagesEN.push('Veuillez indiquer votre numéro de téléphone. (chiffres seulement, sans espaces)'); errorOccured |= true; } if (errorOccured) { return { valid: false, message: messages.join('<br/>'), message_en: messagesEN } } else { return true; } } }, notEmpty: { message: 'Veuillez indiquer votre numéro de téléphone', message_en: 'Veuillez indiquer votre numéro de téléphone' }, stringLength: { message: 'Vous avez dépassé la longueur maximum des 20 caractères autorisés pour ce champ', message_en: 'You have exceeded the maximum length of 20 characters for this field', max: 20 }, callbackPhone: { alias: 'callback', message: 'Veuillez indiquer votre numéro de téléphone', message_en: 'Veuillez indiquer votre numéro de téléphone', 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[professionalCustomersContactFormDefinition_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[professionalCustomersContactFormDefinition_message]': { trigger: 'blur', validators: { notEmpty: { message: 'Veuillez indiquer la raison pour laquelle vous nous contactez.', message_en: 'Veuillez indiquer la raison pour laquelle vous nous contactez.' }, stringLength: { message: 'Le nombre de caractères de ce champ doit être compris entre 0 et 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); 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/ */ data.fv.disableSubmitButtons(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 = 'professionalCustomersContactForm'; if (!formId || formId === 'cfRequest' || formId === 'cfResponse') { formId = 'professionalCustomersContactFormDefinition'; } 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(); } };

dispatcher-check