PHP пустое поле после замены ajax - PullRequest
0 голосов
/ 12 июня 2018

У меня есть форма с несколькими входами и двумя выборами.Когда я выбираю бренд, я хочу увидеть варианты модели.Все работает.Но когда я нажимаю «отправить», поле vehicle_model становится пустым.Поля в $ _POST заполнены, кроме поля vehicle_model.Я не знаю почему.

<div class="form-group">
  <select class="form-control brand-select" name="brand" required="">
    <option selected="true" value="1">MAN</option>
    <option value="2">Volvo</option>
    <option value="3">Renault</option>
    <option value="4">DAF</option>
  </select>
</div>

<div class="form-group" id="ajax_model">
  <select class="form-control" name="vehicle_model" required="">
    <option selected="" value="1">XS1</option>
    <option value="2">XS2</option>
  </select>
</div>
$(".brand-select").change(function() {
  var id_brand = $(this).val();
  var vehicle_type = <?php echo $type;?>;
  $.ajax({
    type: "POST",
    url: "<?php echo base_url(); ?>" + "vehicle/ajax_model",
    data: {
      'id_brand': id_brand,
      'vehicle_type': vehicle_type
    },
    dataType: 'text',
    success: function(data) {
      $("#ajax_model").html(data);
    }
  });
});

Мой полный код формы.AJAX работает - я получаю модели после выбранной марки.Но когда я нажимаю «сохранить», PHP не видит $vehicle_model.Но только когда я запускаю AJAX.Когда я обновляю страницу и не меняю бренд, все работает.

<table id="tabela" class="table table-bordered table-striped">
  <tbody>
    <form action="http://192.168.0.200:9000/vehicle/update_information" method="post" accept-charset="utf-8">
      <tr>
        <td>Number:</td>
        <td>
          <div class="form-group"><input type="text" class="form-control" autocomplete="off" value="12345" name="number"></div>
        </td>
      </tr>
      <tr>
        <td>VIN:</td>
        <td>
          <div class="form-group"><input type="text" class="form-control" autocomplete="off" maxlength="17" minlength="17" value="12345678901234567" name="vin"></div>
        </td>
      </tr>
      <tr>
        <td>Brand:</td>
        <td>
          <div class="form-group">
            <select class="form-control brand-select" name="brand" required>
              <option selected="true" value='1'>MAN</option>
              <option value='2'>Volvo</option>
              <option value='3'>Renault</option>
              <option value='4'>DAF</option>
            </select>
          </div>
        </td>
      </tr>
      <tr>
        <td>Model:</td>
        <td>
          <div class="form-group" id="ajax_model">
            <select class="form-control" name="vehicle_model" required>
              <option selected value="1">XS1</option>
              <option value="2">XS2</option>
            </select>
          </div>
        </td>
      </tr>
      <tr>
        <td>Kilometers</td>
        <td>
          <div class="form-group"><input type="text" class="form-control" value="100 km" disabled></div>
        </td>
      </tr>
      <tr>
        <td>Comment:</td>
        <td>
          <textarea class="form-control" rows="5" name="comment" id="comment"></textarea>
          <input type="hidden" name="id_vehicle" value="137" />

        </td>
      </tr>
      <tr>
        <td colspan="2"><button type='submit' class='btn btn-md btn-success' style="float:right;margin-top:10px;width:80px;">Save</button>
        </td>
      </tr>
    </form>
  </tbody>
</table>

1 Ответ

0 голосов
/ 12 июня 2018

Потому что вы забыли отправить vehicle_model просто попробуйте вот так

<script>
    $( ".brand-select" ).change(function() {
        var id_brand = $(this).val();
        var vehicle_model=$("select[name=vehicle_model]").val()
        var vehicle_type = <?php echo $type;?>;
        $.ajax({
            type: "POST",
            url: "<?php echo base_url(); ?>" + "vehicle/ajax_model",
            data: {
                 'id_brand': id_brand, 
                 'vehicle_type': vehicle_type,
                  'vehicle_model':vehicle_model},
            dataType: 'text',
            success: function(data){
                $( "#ajax_model" ).html( data );
            }
        });
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...