BEYAZMASTER adlı üyeden alıntı
Üstadım öncelikle ilginiz ve cevabınız için teşekkür ederim.Paylaştığınız örneklere baktım, eğer yanlış anlamadıysam birbirini tetikleyen öğeler bunlar...
(Tam anlayamamış olabilirim.)
Benim ifade etmek istediğim daha düz bir yapı aslında.
Sadece çift post işlemini tek posta indirgemem gerekiyor sanıyorum...Ya da ona benzer birşeyler...
Yeterince sade ifade edemediğimi kabul edip daha basit bir tarif yapmaya çalışayım;
<select name="category" required> <option value=""> Lütfen birini seçiniz </option> <option value="Sarı"> Sarı </option> <option value="Kırmızı"> Kırmızı </option> </select> Üsttekilerden birini seçmek istemeyen kullanıcı alttaki inputa BEYAZ yazarak ve bu değeri kayıt edebilmeli... <input type="text" name="category">
Eğer inputa birşey yazılmaz ise select içinde seçilen değer sütuna kayıt edilmeli...(Select elamanına alternatif olarak ortaya koyduğum radio ve checkbox inputlarını unutabiliriz.)
Hepsi bu üstadım...
Merhaba;
Bu kodu deneyip onun üzerinden isteklerinizi söyleyebilir misiniz?
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="post" action="">
<select id="category" name="category" required>
<option value=""> Lütfen birini seçiniz </option>
<option value="Sarı"> Sarı </option>
<option value="Kırmızı"> Kırmızı </option>
<option value="Diger">Özel Olarak Belirteceğim</option>
</select>
<br><br>
<input id="ozel" type="text" placeholder="Özel seçimi bu alana yazınız" name="ozel">
<br><br>
<input type="submit" value="Gönder">
</form>
<?php
if(isset($_POST['category'])){
if($_POST['category']!="Diger"){
$secilen_cat=$_POST['category'];
}else{
$secilen_cat=$_POST['ozel'];
}
echo "<br><br> Seçilen kategori $secilen_cat";
}
?>
<script
src="https://code.jquery.com/jquery-3.6.4.min.js"
integrity="sha256-oP6HI9z1XaZNBrJURtCoUT5SUnxFr8s3BzRl+cbzUq8="
crossorigin="anonymous"></script>
<script type="text/javascript">
$("#ozel").hide();
$('#category').on('change', function() {
var catdeger = $(this).val();
if(catdeger=="Diger"){
$("#ozel").show();
}else{
$("#ozel").hide();
}
})
</script>
</body>
</html>