我的代码有问题。我无法将输入值传递给控制器。所以,我有一个选择框。我们在选择框中选择的数字将生成将显示多少表格。因此,如果我在选择框中选择3,则同一表格将出现3次。而且,当我提交表单以保存数据时,比将var_dump()在数据插入数据库之前对其进行控制时,我得到的数组(0){}表示空。谁能帮我?以及如何在同一时间在同一数据库中插入多行? 谢谢
<label for="sel1">Jumlah permintaan rekrut karyawan :
</label>
<select class="form-control" name="sel1" id="sel1" >
<option selected>Pilih</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
<button id="btn" type="button" class="btn waves-effect waves-light btn-primary">Primary</button></div>
</form>
</div>
</div>
</div>
</div>
</div>
<div style="width:100%;height:100%;position:absolute;vertical-align:middle;text-align:center;">
<button type="button" id="btn-submit" style="display: none; margin: auto;" class="btn waves-effect waves-light btn-primary" data-toggle="modal" data-target="#myModal">Request</button>
</div>
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<p align="center">Are you sure you want to request ?</p>
</div>
<div class="modal-footer">
<button type="button" id="button-smt" class="btn btn-primary mr-auto" onclick="window.location.href='<?php echo site_url('hire/submit_hire'); ?>'">Yes</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">No</button>
</div>
</div>
</div>
</div>
</body>
<script type="text/javascript">
$(document).ready(function(){
$('#sel1').on('change', function(event) {
initForms($(this).val());
});
$('body').on('click', '.btn', function(){
$('.form-horizontal').each(function(){
$(this).show();
$('#btn-submit').show();
});
});
});
$('#button-smt').click(function(e){
event.preventDefault();
alert('test');
alert($('#empreqstat').val());
/* $.ajax function will go here to save row */
$.ajax({
type: "POST",
url: "<?php echo base_url('hire/submit_hire');?>",
data: {empreqstat : $('#empreqstat').val(), position : $('#position').val(),empstat : $('#empstat').val(), Education : $('#Education').val() , Experience: $('#Experience').val(),jobdesc : $('#jobdesc').val() },
dataType:'json',
success:function(data){
error:function(){
alert('data gagal disimpan');
}
});
});
function initForms(formCount){
var finalHTML= "";
for(i=0; i<formCount; i++){
var tempHTML ='<div class="card"><form id="$formid$" action="<?php echo base_url('hire/submit_hire');?>" method="POST" class="form-horizontal striped-rows b-form" style="display:none;"><div class="card-body"><h4 class="card-title">Rekrut Karyawan'+(i+1)+' </h4><div class="form-group row"><div class="col-sm-3"><label class="control-label col-form-label">Employee Request Status</label></div><div class="col-sm-9"><select class="form-control" name="empreqstat" id="empreqstat" ><option selected>Pilih</option><option value="Replacement">Replacement</option><option value="Add">Add</option></select></div></div></div></form></div>';
tempHTML = tempHTML.split("$formid$").join("form-" + i);
finalHTML += tempHTML;
}
$('.form-container').empty().html(finalHTML);
}
我的控制器:
public function submit_hire(){
$this->form_validation->set_rules('empreqstat', 'empreqstat', 'required');
var_dump($_POST);exit;
}
答案 0 :(得分:0)
此$('empreqstat').val()
不是有效的选择器。
如果我假设您在发送数据之前先console.log
,您会注意到这些变量没有被填充。您也可以在“标头”下查看开发工具,以查看是否发布了数据。
您需要遵循$('name=["empreqstat"]')
但是,这种方法的问题在于您有多个具有相同输入字段名称的表单。
所以现在您必须更具描述性。
$("#submit").click(function(){
var form = $(this).parents('form:first');
console.log($("input[name='somename']",form).val());
});