У меня есть несколько флажков, которые мне нужно указать при отправке формы. На данный момент их 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 или более раз с другим идентификатором, но могу ли я просто пройтись по циклу, чтобы было быстрее и чище? Я пытался, но не могу заставить его изменить скрытые значения. Спасибо