0

我无法让我的变量在我的表单中发布。如果用户想输入一个新的子类别,我会使用 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 和表单有什么我不知道的吗?

4

1 回答 1

2

您有两个 id="sub_cat1" 的选择元素。

每个页面的 id 必须是唯一的。

它也是无效的 HTML,在选择中带有选择。

于 2013-02-14T02:34:17.023 回答