さて、チェックボックスの選択に基づいて 2 つのフォーム フィールドを表示しようとしています。これら 2 つのフォーム フィールドは必須です。したがって、基本的にチェックボックスが選択されている場合は、フィールドを表示して必須にする必要があります。それ以外の場合は非表示であるため、必要ありません。show hide sorta が機能しています。選択解除 (グループ内の別のチェックボックスの選択) では確実に非表示になりません。また、それらが非表示になっている場合でも必要なので、素晴らしいエラーが発生します...
私は立ち往生しています。提案がある人。私はまだかなり新しいです。前もって感謝します。これが私が以下に持っているものです:
<label for="nothing">
Test Method<br/>
<label>
<input type="checkbox" class="testmethod" id="kickback" name="kickback" value="yes" onclick="javascript:yesnoCheck();" tabindex="5" <?= ( $settings['kickback'] == 'yes' ? 'checked = "checked"' : '' ) ?>>
Kickback
</label>
<label>
<input type="checkbox" class="testmethod" id="manual" name="manual" value="yes" onclick="javascript:yesnoCheck();" tabindex="5" <?= ( $settings['manual'] == 'yes' ? 'checked = "checked"' : '' ) ?>>
Manual
</label>
<label>
<input type="checkbox" class="testmethod" id="beastmode" name="beastmode" value="yes" onclick="javascript:yesnoCheck();" tabindex="5" <?= ( $settings['beastmode'] == 'yes' ? 'checked = "checked"' : '' ) ?>>
Beast Mode
</label>
</label>
<label for="my-text-field" id="mytextfield" style="visibility:hidden">
My Text Field <em> <small>*Required*</small></em>
<input type="text" name="mytextfield" value="<?= $settings['mytextfield'] ?>" tabindex="6" required/>
</label>
<label for="my-number-field" id="mynumberfield" style="visibility:hidden">
Number of Images <em> <small>*Required*</small></em>
<input type="number" name="mynumberfield" value="<?= $settings['mynumberfield'] ?>" tabindex="7" required/>
</label>
そして、これが私のJSです
$("input.testmethod").click(function() {
$('input:checkbox[class="' + $(this).attr('class') + '"]').prop('checked', false);
$(this).prop('checked', true);
});
function yesnoCheck() {
if (document.getElementById('beastmode').checked)
{
document.getElementById('mytextfield').style.visibility = 'visible'
document.getElementById('mynumberfield').style.visibility = 'visible';
}
else
{
document.getElementById('mytextfield').style.visibility = 'hidden';
document.getElementById('mynumberfield').style.visibility = 'hidden';
}
}