Input stores old data

-1

I have an input type number , depending on a radiobutton this input can change between type date and type number . The problem is that after the submit and changing the selection of radiobutton my input stores old data of the date type or in the worst case it marks 2 times the same data

My sight

<form class="form-horizontal" id="form_transferencias_enviadas">
  <fieldset>
    <legend>Parámetro de impresión</legend>
    <div class="form-group">
      <div class="col-xs-2">
        <input type="number" min="0" id="parametro_impresion" required>
      </div>
      <div class="col-xs-3" id="hasta_hidden" hidden>
        <span>Hasta:</span>
        <input type="date" id="parametro_impresion_hasta">
      </div>
    </div>
    <div class="form-group">
      <div class="col-xs-2" id="select_hidden" hidden>
        <select id="slc_transferencia_destino" class="form-control" style="width: 100%;">
          @foreach($empresas as $empresa)
            @if($empresa->nombre!=Auth::user()->activo()->pluck('nombre')->first())
               <option value="{{$empresa->nombre}}">{{$empresa->nombre}}</option>
            @endif
          @endforeach
        </select>
      </div>
    </div>
    <div>
      <button type="submit" class="btn btn-primary">Buscar</button>
    </div>
  </fieldset>
</form>

My js

//ocultar campos
$(document).ready(function() {
  $('input[name="busqueda_radio"]').on('ifClicked', function(event) {
    var num = parseInt(this.value)
    switch (num) {
      case 1:
        $('#select_hidden').prop('hidden', true).prop('disabled', true)
        $('#hasta_hidden').prop('hidden', true).prop('disabled', true)
        $('#parametro_impresion').prop('type', 'number').val('').prop('hidden', false).prop('disabled', false)
        submit_buton(num)
        break
      case 2:
        $('#select_hidden').prop('hidden', true).prop('disabled', true)
        $('#parametro_impresion').prop('type', 'date').val('').prop('hidden', false).prop('disabled', false)
        $('#hasta_hidden').prop('hidden', false).prop('disabled', false)
        submit_buton(num)
        break
      case 3:
        $('#hasta_hidden').prop('hidden', true).prop('disabled', true)
        $('#parametro_impresion').prop('hidden', true).prop('disabled', true)
        $('#select_hidden').prop('hidden', false).prop('disabled', false)
        submit_buton(num)
        break
    }
  })
})


function por_numero(numero_transferencia) {
  console.log(numero_transferencia)
}

function por_fecha(desde, hasta) {
  console.log(desde + ' hasta ' + hasta)
}

function por_destino(destino) {
  console.log(destino)
}

function submit_buton(caso) {
  $('#form_transferencias_enviadas').submit(function(e) {
    e.preventDefault()
    switch (caso) {
      case 1:
        por_numero($('#parametro_impresion').val())
        break
      case 2:
        por_fecha($('#parametro_impresion').val(), $('#parametro_impresion_hasta').val())
        break
      case 3:
        por_destino($('#slc_transferencia_destino').val())
        break

    }
  })
}

Thanks for the help

    
asked by Christian 14.03.2018 в 05:18
source

2 answers

1

When making the change with the radio button you should clean the text field where you enter the value. That way you should not drag any previous value.

//ocultar campos
$(document).ready(function() {
  $('input[name="busqueda_radio"]').on('ifClicked', function(event) {
    var num = parseInt(this.value)
    document.getElementById("parametro_impresion").value = ""//o la forma que prefieras usar.
    
answered by 14.03.2018 в 05:55
0

This problem is solved by cleaning the submit and thus avoid creating a new instance of it

$('#form_transferencias_enviadas').off('submit').submit(function (e) {})
    
answered by 14.03.2018 в 15:39