$('.field.SocialSecurity input[type=radio]').on("change", function() {
switch ($(this).val()) {
case 'As a U.S. Citizen, permanent resident, or temporary working resident, I have a Social Security Number.':
$('.field.SSN_No').hide();
$('.field.SSN').show();
break;
case 'Due to my international student status, my residency status, or my specific visa type, I do not have a Social Security Number.':
$('.field.SSN').hide();
$('.field.SSN_No').show();
break;
}
});
function validateSSN() {
if (!validateRequiredTextField('SSN', 'Social Security Number'))
return false;
var value = $('.field.SSN input').val();
if (!isInteger(value) ||
(value.length != 9) ||
(value == '000000000') ||
(value == '111111111') ||
(value == '222222222') ||
(value == '333333333') ||
(value == '444444444') ||
(value == '555555555') ||
(value == '666666666') ||
(value == '777777777') ||
(value == '888888888') ||
(value == '999999999') ||
(value == '123456789')) {
$('.field.SSN input').focus();
alert("Invalid: Social Security Number");
return false;
}
return true;
}
function validateForm() {
if (!validateSSN())
return false;
return true;
}
<style>fieldset {
font-family: Helvetica;
padding: 10px 12px 12px 12px;
margin-bottom: 6px;
position: relative;
vertical-align: top;
}
.radio label:first-of-type {
margin-left: 0;
}
.field .radio label {
display: inline-block;
font-weight: normal;
vertical-align: top;
}
.radio label {
position: relative;
line-height: 20px;
padding-left: 28px;
}
.field label,
.EditingFormLabel {
display: block;
font-size: 14px;
font-weight: bold;
padding-left: 0;
margin-top: 3px;
}
.radio label,
.checkbox label {
display: inline;
margin-bottom: 0;
font-weight: normal;
cursor: pointer;
}
element.style {
display: block;
}
.field {
margin-top: 10px;
vertical-align: top;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<div>
<fieldset>
<h4>Personal:</h4>
<div class="field SocialSecurity">
<span id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_lb" class="EditingFormLabel">Do you have a Social Security Number?</span>
<div id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_ncpsocialsecurity" class="EditingFormControlNestedControl editing-form-control-nested-control">
<span id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_list" class="radio radio-list-vertical">
<input id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_list_0" type="radio" name="p$lt$ctl03$pageplaceholder$p$lt$ctl00$On_lineForm$viewBiz$SocialSecurity$list" value="As a U.S. Citizen, permanent resident, or temporary working resident, I have a Social Security Number." />
<label for="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_list_0">As a U.S. Citizen, permanent resident, or temporary working resident, I have a Social Security Number.</label><br />
<input id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_list_1" type="radio" name="p$lt$ctl03$pageplaceholder$p$lt$ctl00$On_lineForm$viewBiz$SocialSecurity$list" value="Due to my international student status, my residency status, or my specific visa type, I do not have a Social Security Number." />
<label for="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_list_1">Due to my international student status, my residency status, or my specific visa type, I do not have a Social Security Number.</label></span>
</div>
</div>
<div class="field SSN" style="display: none;">
<label id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SSN_lb" class="EditingFormLabel" for="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SSN_txtText">Social Security Number</label>
<div id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_ncpssn" class="EditingFormControlNestedControl editing-form-control-nested-control">
<input name="p$lt$ctl03$pageplaceholder$p$lt$ctl00$On_lineForm$viewBiz$SSN$txtText" type="text" maxlength="9" id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SSN_txtText" class="form-control" />
</div>
</div>
</fieldset>
</div>
</html>
У меня есть веб-форма с JavaScript. Моя форма имеет 2 переключателя. Если пользователь выбирает первую радио-кнопку, мне нужно дополнительное поле, чтобы показать и быть обязательным. Если пользователь выбирает второй переключатель, то указанное поле должно быть скрыто и не обязательно. Во-вторых, мне нужно указанное поле, когда требуется подтверждение.
У вас есть номер социального страхования? (Это поле называется SocialSecurity) (переключатель 1). Как гражданин США, постоянный или временно работающий, у меня есть номер социального страхования. (переключатель 2) Из-за моего международного студенческого статуса, моего статуса проживания или моего указанного c типа визы у меня нет номера социального страхования.
Если выбран переключатель 1, тогда другое поле вызываемый SSN отображается и должен быть обязательным, но ТОЛЬКО если пользователь выбирает переключатель 1. Мой текущий код правильно выполняет показ / скрытие, но требует SSN, даже когда пользователь выбирает вариант 2. Мне нужно, чтобы он ТОЛЬКО требовался и подтвердите, если пользователь выбирает переключатель 1. 1. 1012 *
Вот мой JS:
$('.field.SocialSecurity input[type=radio]').on("change", function()
{
if($(this).val() == 'As a U.S. Citizen, permanent resident, or temporary working resident, I have a Social Security Number.')
{
$('fieldset.SSN').show();
$('.field.SSN input').focus();
}
else
$('fieldset.SSN').hide();
});
$('.field.SocialSecurity input[type=radio]').on("change", function()
{
switch($(this).val())
{
case 'As a U.S. Citizen, permanent resident, or temporary working resident, I have a Social Security Number.':
$('.field.SSN_No').hide();
$('.field.SSN').show();
break;
case 'Due to my international student status, my residency status, or my specific visa type, I do not have a Social Security Number.':
$('.field.SSN').hide();
$('.field.SSN_No').show();
break;
}
});
function validateSSN()
{
if (!validateRequiredTextField('SSN', 'Social Security Number'))
return false;
var value = $('.field.SSN input').val();
if ( !isInteger(value)
|| (value.length != 9)
|| (value == '000000000')
|| (value == '111111111')
|| (value == '222222222')
|| (value == '333333333')
|| (value == '444444444')
|| (value == '555555555')
|| (value == '666666666')
|| (value == '777777777')
|| (value == '888888888')
|| (value == '999999999')
|| (value == '123456789'))
{
$('.field.SSN input').focus();
alert("Invalid: Social Security Number");
return false;
}
return true;
}
function validateForm()
{
if (!validateSSN())
return false;
return true;
}
Вот мой HTML:
<div class="field SocialSecurity">
<span id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_lb" class="EditingFormLabel">Do you have a Social Security Number?</span>
<div id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_ncpsocialsecurity" class="EditingFormControlNestedControl editing-form-control-nested-control">
<span id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_list" class="radio radio-list-vertical">
<input id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_list_0" type="radio" name="p$lt$ctl03$pageplaceholder$p$lt$ctl00$On_lineForm$viewBiz$SocialSecurity$list" value="As a U.S. Citizen, permanent resident, or temporary working resident, I have a Social Security Number." />
<label for="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_list_0">As a U.S. Citizen, permanent resident, or temporary working resident, I have a Social Security Number.</label><br />
<input id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_list_1" type="radio" name="p$lt$ctl03$pageplaceholder$p$lt$ctl00$On_lineForm$viewBiz$SocialSecurity$list" value="Due to my international student status, my residency status, or my specific visa type, I do not have a Social Security Number." />
<label for="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SocialSecurity_list_1">Due to my international student status, my residency status, or my specific visa type, I do not have a Social Security Number.</label></span>
</div>
</div>
<div class="field SSN" style="display: none;">
<label id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SSN_lb" class="EditingFormLabel" for="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SSN_txtText">Social Security Number</label>
<div id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_ncpssn" class="EditingFormControlNestedControl editing-form-control-nested-control">
<input name="p$lt$ctl03$pageplaceholder$p$lt$ctl00$On_lineForm$viewBiz$SSN$txtText" type="text" maxlength="9" id="p_lt_ctl03_pageplaceholder_p_lt_ctl00_On_lineForm_viewBiz_SSN_txtText" class="form-control" />
</div>
</div>