我有一个表单,其中我有一个从数据库中填充的下拉列表,我的下面还有一个输入框。我想fetch the value of both the fields via Ajax using jQuery and insert them into the database
。
我知道我必须单独获取下拉列表的值,然后将其添加到ajax中的数据中,但我无法确定如何执行相同操作。
sub_category_add.php
<form method="post">
<select id="cat_sub_cat">
<?php
$data=mysqli_query($con,"SELECT * FROM category");
while($row=mysqli_fetch_array($data))
{
echo "<option value=".$row['cid'].">".$row['category']."</option>";
}
?>
</select><br><br>
<h3>Add Sub Categories</h3><br>
<input type="text" name="sub_cat"><br><br>
<input type="submit" name="submit" value="Insert" id="sub_cat_btn">
</form>
Ajax File:
$(document).on('click','#sub_cat_btn', function(event){
event.preventDefault();
$.ajax({
url:"sub_cat_add_back.php",
method:"post",
data:$('form').serialize(),
dataType:"html",
success:function(strMsg){
$("#cat_sub_msg").html(strMsg);
}
})
sub_cat_add_back.php
<?php
include "../includes/config.php";
$name=$_POST['sub_cat'];
$cid=$_POST['cat_sub_cat'];
$data=mysqli_query($con,"INSERT INTO subcategory (name,cid) VALUES ('$name','$cid')");
if($data=="true")
{
echo "Successfully Inserted";
}
else
{
echo "Error";
}
?>
答案 0 :(得分:1)
您的问题是select标签没有Name属性
<select id="cat_sub_cat" name="cat_sub_cat">
答案 1 :(得分:0)
如果您想在点击时获取值而不是表单序列化。在input
<input type="text" name="sub_cat" id="custom">
$("#cat_sub_cat option:selected");
$("#custom").val();
如果您想使用表单序列化进行此操作,请在select
<select id="cat_sub_cat" name="your_select_name">