#javascript #html #jquery
#язык JavaScript #HTML #jquery
Вопрос:
как мне показать оповещение, если переключатель не выбран, сформируйте два переключателя, а затем покажите оповещение при выборе опции, если она не выбрана. но я получаю предупреждение по обоим переключателям, как это исправить
$('#form_id').submit(function(el) { el.preventDefault(); let r = $('input[type=radio][name=name]').val(); if(r != 'inst' ){ alert('Please select radio') return false; }else if(r != 'hq'){ alert('Please select radio') return false; } if('0' === $('#select_id').val()){ alert('Please select option') return false; }else{ this.submit(); } })
lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt; lt;form id="form_id"gt; lt;input type="radio" name="name" id="r1" value="inst"gt; lt;input type="radio" name="name" id="r2" value="hq"gt; lt;select id="select_id" class=""gt; lt;option value="0"gt;--select--lt;/optiongt; lt;option value="6"gt;Advertisementslt;/optiongt; lt;option value="4"gt;Another reason:lt;/optiongt; lt;/selectgt; lt;button type="submit" class="btn btn-primary"gt;submitlt;/buttongt; lt;/formgt;
Ответ №1:
Проблема в том, что в вашем случае 2 if
утверждения, касающиеся ваших переключателей, всегда будут ложными для одного из случаев.
Так что сделай это вот так.
let r = $('input[type=radio][name=name]:checked').length; if (r == 0) { alert('Please select radio') return false; }
ДЕМОНСТРАЦИЯ
$('#form_id').submit(function(el) { el.preventDefault(); let r = $('input[type=radio][name=name]:checked').length; if (r == 0) { alert('Please select radio') return false; } if ('0' === $('#select_id').val()) { alert('Please select option') return false; } this.submit(); })
lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt; lt;form id="form_id"gt; lt;input type="radio" name="name" id="r1" value="inst"gt; lt;input type="radio" name="name" id="r2" value="hq"gt; lt;select id="select_id" class=""gt; lt;option value="0"gt;--select--lt;/optiongt; lt;option value="6"gt;Advertisementslt;/optiongt; lt;option value="4"gt;Another reason:lt;/optiongt; lt;/selectgt; lt;button type="submit" class="btn btn-primary"gt;submitlt;/buttongt; lt;/formgt;
Ответ №2:
Попробуйте это
$('#form_id').submit(function(el) { el.preventDefault(); let r = $(":radio:checked").val(); if(!r){ alert('Please select radio') return false; } if('0' === $('#select_id').val()){ alert('Please select option') return false; }else{ this.submit(); } })