変数をフォームに投稿するのに問題があります。ユーザーが新しいサブカテゴリに入りたい場合は、jquery を使用してボックスを読み込みます。
フォームでの選択はこちら
<select id="sub_cat1" name="sub_cat1">
<option value=""></option>
<option value="new">New Sub Cat</option>
<?php
$query = "SELECT sub_category FROM blog_posts GROUP BY sub_category";
$data = mysqli_query($dbc, $query);
if (mysqli_num_rows($data) > 0) {
while ($row = mysqli_fetch_array($data)) {
$sub_category = $row['sub_category'];
echo '<option value="' . $sub_category . '">' . $sub_category . '</option>';
}
}
?>
</select>
<div id="load_sub_cat_box"></div>
これはjqueryです
$(document).ready(function(){
$("#sub_cat1").on("keyup change", function() {
var prod = $("#sub_cat1").val();
if(prod == 'new'){
$("#load_sub_cat_box").append('<div style="padding-top:15px;">Enter New Sub Category</div><input type="text" name="sub_cat2" />');
}
});
});
そして、ここにフォーム検証コードがあります
if($_POST['sub_cat1'] == "new"){
$sub_cat = mysqli_real_escape_string($dbc, trim($_POST['sub_cat2']));
}
else{
$sub_cat = mysqli_real_escape_string($dbc, trim($_POST['sub_cat1']));
}
新規を選択すると、ボックスはページに読み込まれますが、何らかの理由でフォームが送信されたときに $sub_cat1 の変数が読み込まれません。jquery とフォームについてわからないことはありますか?