Ja to robię za pomocą jQuery
<form method="post">
<br> Płatność
<br>
<input type="radio" name="platnosc" value="Tak">TAK
<input type="radio" name="platnosc" value="Nie">NIE
<br>Wybierz kartę
<br>
<input type="radio" name="karta" value="Karta1">Karta 1
<input type="radio" name="karta" value="Karta2">Karta 2
<input type="radio" name="karta" value="Karta3">Karta 3
<br>
<br>
<input type="submit" value="Wyślij">
</form>
<script type="text/javascript">
$(document).ready(function()
{
$('input[name="platnosc"]').click(function() {
if ($('input[name="platnosc"]:checked').val() == "Nie") {
$('input[name="karta"]').attr('disabled', true);
}
});
$('input[name="platnosc"]').click(function() {
if ($('input[name="platnosc"]:checked').val() == "Tak") {
$('input[name="karta"]').attr('disabled', false);
}
});
});
</script>
Oczywiście jest to przykład tak na szybkiego, jaki mi wpadł do głowy
Jeśli chcesz, aby pola w formularzu były niewidoczne i potem się pojawiały to podobnie jak wyżej, tylko zmieniać style css display: none
Miłej zabawy