#javascript #html #function #call
Вопрос:
У меня есть функция, которую я вызываю для инициализации страницы :
function initialize_selections() { var freeamountElement = document.getElementById("text-freeamount"); var dlyElement = document.getElementById("text-dly"); var freeshipperElement = document.getElementById("text-freeshipper"); if(freeamountElement){ var shippingMethod = document.getElementById("text-freeamount").innerText; document.getElementById('radio-freeamount').checked = true; document.getElementById('value-shipping').innerHTML = '$0.00'; document.getElementById('text-shipping').innerHTML = shippingMethod; }else if(dlyElement){ var shippingMethod = document.getElementById("text-dly").innerText; document.getElementById('radio-dly').checked = true; document.getElementById('value-shipping').innerHTML = '$0.00'; document.getElementById('text-shipping').innerHTML = shippingMethod; }else if(freeshipperElement){ var shippingMethod = document.getElementById("text-freeshipper").innerText; document.getElementById('radio-freeshipper').checked = true; document.getElementById('value-shipping').innerHTML = '$0.00'; document.getElementById('text-shipping').innerHTML = shippingMethod; }else{ var shippingMethod = document.getElementById("text-upsxml").innerText; var shippingValue = document.getElementById("value-upsxml").innerText; document.getElementById('radio-upsxml').checked = true; document.getElementById('value-shipping').innerHTML = shippingValue; document.getElementById('text-shipping').innerHTML = shippingMethod; } // myPoints(); };
Это хорошо работает при начальной загрузке страницы. В зависимости от конкретных условий я хочу вызвать его снова, из отдельной функции:
function hideForm(){ if (document.getElementById('thebox').checked==true){ document.getElementById('formdiv').style.display="block"; document.getElementById('formdiv2').style.display="none"; document.getElementById('formdiv3').style.display="block"; var shipping_method = 'Pick Up Your Order'; document.getElementById('text-shipping').innerHTML = shipping_method ; document.getElementById('value-shipping').innerHTML = '$0.00'; document.querySelector('input[name="shipping"]:checked').checked = false; // myPoints(); } else { document.getElementById('formdiv').style.display="none"; document.getElementById('formdiv2').style.display="block"; document.getElementById('formdiv3').style.display="none"; var shipping_method = document.getElementById('text-upsxml').innerText; document.getElementById('text-shipping').innerHTML = shipping_method ; var shipping_value = document.getElementById('value-upsxml').innerText; document.getElementById('value-shipping').innerHTML = shipping_value; document.querySelector('input[name="shipping"]:checked').checked = false; document.querySelector('input[name="payment"]:checked').checked = false; initialize_selections(); }; };
Оба кода работают хорошо и делают то, что я ищу, за исключением того, что я не могу вызвать initialize_selections из hideForm (то же самое происходит с функцией MyPoints, но прокомментировал ее, чтобы изолировать проблему.
Комментарии:
1. Находятся ли функции в одном файле? Находит ли hideForm() функцию initialize_selections()?
2. обе функции находятся в одном файле, я получил часть его для работы, поэтому я буду отслеживать, хотя я считаю, что это связано с глобалами и областью действия. Спасибо