18 "mage/adminhtml/events" 22 optionalZipCountries = <?= $this->helper(
'Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(
true) ?>;
24 function onAddressCountryChanged (countryElement) {
25 var zipElementId = countryElement.id.replace(/country_id/,
'postcode');
28 if ($(zipElementId) != undefined) {
29 setPostcodeOptional($(zipElementId), countryElement.value);
31 Event.observe(window,
"load",
function () {
32 setPostcodeOptional($(zipElementId), countryElement.value);
37 function setPostcodeOptional(zipElement, country) {
38 if (optionalZipCountries.indexOf(country) != -1) {
39 while (zipElement.hasClassName(
'required-entry')) {
40 zipElement.removeClassName(
'required-entry');
42 zipElement.up(
'div.field').removeClassName(
'required');
43 zipElement.up(
'div.field').removeClassName(
'_required');
45 zipElement.addClassName(
'required-entry');
46 zipElement.up(
'div.field').addClassName(
'required');
47 zipElement.up(
'div.field').addClassName(
'_required');
51 varienGlobalEvents.attachEventHandler(
"address_country_changed", onAddressCountryChanged);
53 window.setPostcodeOptional = setPostcodeOptional;
54 window.onAddressCountryChanged = onAddressCountryChanged;
55 window.optionalZipCountries = optionalZipCountries;