簡體   English   中英

無法將輸入值傳遞給控制器

[英]Can't pass input value to controller

我的代碼有問題。 我無法將輸入值傳遞給控制器​​。 所以,我有一個選擇框。 我們在選擇框中選擇的數字將生成將顯示多少表格。 因此,如果我在選擇框中選擇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">&times;</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;
      }

$('empreqstat').val()不是有效的選擇器。

如果我假設您在發送數據之前將console.log下來,那么您會注意到這些變量沒有被填充。 您也可以在“標題”下的開發工具中查看請求,以查看發布了哪些數據。

您需要遵循$('name=["empreqstat"]')

但是,這種方法的問題是您有多個具有相同輸入字段名稱的表單。

因此,現在您必須更具描述性。

$("#submit").click(function(){
    var form = $(this).parents('form:first');
    console.log($("input[name='somename']",form).val());
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM