daniyalov
@daniyalov

Как обновлять скрипт JS в Safari?

есть скрипт для скрытия полей адреса при оформления заказа если выбран метод Самовывоз
jQuery( 'body' ).on('updated_checkout', function () {//говорим, что при обновлении формы checkout надо дёрнуть нашу функцию
   var method = woocommerce_params.chosen_shipping_method;
      jQuery( 'select.shipping_method, input[name^=shipping_method][type=radio]:checked, input[name^=shipping_method][type=hidden]' ).each( function( index, input ) {
		method = jQuery( this ).val();
		} );
		switch (true) { 
		    case (method.indexOf('local_pickup:8') >= 0 ):  //если Самовывоз 
		        jQuery( '#billing_address_1, #billing_address_2, #billing_state').hide(); //Прячем адрес и метро (State)
		        if (jQuery('#billing_address_1_field, #billing_address_2_field').val() === ''){ //если клиент не авторизован или у него нет адреса, что-то надо передать,т.к. обязательное
		        	jQuery('#billing_address_1_field, #billing_address_2_field').attr('value', 'Самовывоз'); //передадим туда строку "самовывоз"
		        }
		        break;
		      	}            
} );


подключается в Wordpress в function.php
add_action( 'wp_enqueue_scripts', 'hide_fields_script' );
function hide_fields_script() {
	wp_enqueue_script( 'hide_shipping_fields', get_template_directory_uri() . "/js/123hide_shipping_fields.js", array( 'jquery' ), GENERATE_VERSION, true );


проблемы при выборе способа доставки Самовывоз:
- остаются видны Label
- при возвращении на способ доставки Курьер не появляются поля Адрес и другие скрытые
- при попытке оплаты получаю уведомления магазина, что обязательные поля не заполнены

5ecd3423d6c70706536138.png

в Chrome все рабоатает отлично, в Safari нет
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы