この 2 つのラジオ ボタンが表示されます。
このボタンをクリックすると、div が表示および非表示になります。
送信ボタンをクリックすると、検証が発生します。
div が表示されると、検証が行われます。
ただし、div が非表示の場合、検証も行われます。
非表示の div の検証を防ぐ方法。
これは私のコードです:
<script type="text/javascript">
function checkRadio(frmName, rbGroupName)
{
var radios = frmName.elements[rbGroupName];
for (var i=0; i <radios.length; i++)
{
if (radios[i].checked)
{
return true;
}
}
return false;
}
function chk_oauth(objForm)
{
var user = objForm.user.value;
var pass = objForm.password.value;
if(user =="")
{
alert("Type email");
return false;
}
if(pass =="")
{
alert("Type pasword");
return false;
}
if (!checkRadio(objForm,"oauth_option"))
{
alert("Please select option");
return false;
}
}
</script>
<form name = "frmOauth" enctype="multipart/form-data" action = "" method = "post" onsubmit="javascript:return chk_oauth(this);">
<label><input type="radio" name="oauth_option" id="oauth_yes" value="Yes" onclick="toggle(this)" >Yes</label>
<label><input type="radio" name="oauth_option" id="oauth_no" value="No" onclick="toggle(this)">No</label>
<div class="oauth_div" id="oauth_div" >
Email Address* <br />
<input type="text" class="input-profile-other" placeholder="Email" id="user" name="user" />
Password * <br/>
<input type="password" class="input-profile-other" type="password" id="password" name="password" placeholder="password" />
</div>
<input class="btn-home-search1" type="submit" value="Go" name="oauth_submit" id="oauth_submit">
</form>
<script type="text/javascript">
var t = document.getElementById('oauth_div');
function toggle(switchElement) {
if (switchElement.id == 'oauth_yes'){
t.style.display = '';
//email.setAttribute('type','email');
t.style.visibility = 'visible';
}else{
t.style.display = 'none';
//email.setAttribute('type','text');
t.style.visibility = 'hidden';
}
}
[].forEach.call( document.forms.frmOauth.oauth_option, function(radio){
if( radio.checked ) {
toggle( radio );
}
});
</script>