Имам няколко квадратчета за отметка, в които трябва да публикувам стойността при изпращане на формуляр. В момента има 4 и може да има повече, така че си помислих, вместо да добавям отделни функции, възможно ли е да ги прегледам всичките и да актуализирам уважаваните полета наведнъж. Виждал съм подобно нещо с популацията от форми с карти на Google, но не съвсем същото. Така че имам вход като този:
function myCheck() {
var checkBox = document.getElementById("email_alerts");
if (checkBox.checked == true){
document.getElementById('form_email_alerts').value = 'YES'
} else {
document.getElementById('form_email_alerts').value = 'NO'
}
}
<ul class="confirm details">
<li class="selected">Please confirm your contact preferences</li>
<li><input type="checkbox" id="email_alerts" value="YES" onclick="myCheck()"> Receive email alerts</li>
<li><input type="checkbox" id="sms_alerts" value="NO" onclick="myCheck()"> Receive free SMS alerts</li>
<li><input type="checkbox" id="offers_alerts" value="NO" onclick="myCheck()"> Receive offers and discounts</li>
<li><input type="checkbox" id="instant_alerts" value="NO" onclick="myCheck()"> Receive Instant Notifications</li>
</ul>
<input id="form_email_alerts" type="hidden" value="">
<input id="form_sms_alerts" type="hidden" value="">
<input id="form_offers_alerts" type="hidden" value="">
<input id="form_instant_alerts" type="hidden" value="">
Бих могъл да добавя това 4 или повече пъти с различен идентификатор, но мога ли просто да го превъртя, за да бъда по-бърз и по-чист? Опитах, но не мога да го накарам да промени скритите стойности. Благодаря