为什么我的代码使用 Ajax 成功地将数据保存到数据库,但所有行都是空白?
我的表单:
<form name="frm" id="frm" action="">
<div class="form-group">
<label for="namaproduk">Nama Produk</label>
<input type="text" class="form-control" id="namaproduk" placeholder="Nama Produk">
<!--<small class="form-text text-muted">We'll never share your email with anyone else.</small>-->
</div>
<div class="form-group">
<label for="unitproduk">Segment/Unit</label>
<select class="form-control" id="unitproduk">
<option value="1">Cabang</option>
<option value="2">Mikro</option>
<option value="3">SME</option>
</select>
<!--<small id="namaprodukhelp" class="form-text text-muted">We'll never share your email with anyone else.</small>-->
</div>
</form>
<div class="col-sm-12 alert" >
<button type="button" name="saveproduk" id="insertproduk" class="btn btn-lg btn-primary pull-right"><span class="fa fa-save"> </span> Save Product</button>
</div>
我的 Ajax:
$("#insertproduk").on('click', function (e) {
e.preventDefault();
var DataString=$("#frm").serializeArray()
$.ajax({
type: 'POST',
url: '<?php echo base_url();?>saveproduct',
data: DataString,
success: function (data) {
//jQuery("#attendence_report_holder").html(response);
alert("success");
},
error:function(data){
alert("failed");
}
});
});
我的 Controller :
public function saveproduct(){
$this->product_m->saveproduct_m();
}
我的模型:
function saveproduct_m(){
$dataproduk = array(
"namaproduct" => $this->input->post("namaproduk"),
"idunit" => $this->input->post("unitproduk"));
echo $result = $this->db->insert("tbl_product",$dataproduk);
}
最佳答案
它保存为空白,因为您还没有为您的字段定义 name
属性。除了 id="namaproduk"
,您还应该为所有字段分别设置 name="namaproduk"
。
所以应该是:
<input type="text" class="form-control" id="namaproduk" name="namaproduk" placeholder="Nama Produk">
和
<select class="form-control" id="unitproduk" name="unitproduk">
关于javascript - 使用 Ajax 插入成功但数据库行为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47118154/