Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/12/2018, 18:28
Avatar de manuparquegiralda
manuparquegiralda
 
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 12 años, 4 meses
Puntos: 39
Respuesta: comparar longitud de dos input con javascript

Es muy simple hacerlo con JavaScript.

Código Javascript:
Ver original
  1. (() => {
  2.     var selects = document.querySelectorAll( "select"  );
  3.     for( var i = 0; i < selects.length; i++ ) {
  4.         selects[ i ].addEventListener( "change", adjustLength( ev ));
  5.     }
  6. })();
  7.  
  8. function adjustLength( ev ) {
  9.     var select = ev.currentTarget;
  10.     var form = select.parentElement;
  11.  
  12.     form.telefono_1.value = "";
  13.  
  14.     if ( select.value.length === 2 ) {
  15.         form.telefono_1.setAttribute( "maxlength", "8" );
  16.     } else {
  17.         form.telefono_1.setAttribute( "maxlength", "7" );
  18.     }
  19. }

Cómo puedes ver, en la función encapsulada lo que hacemos es poner a la escucha los cambios en los selects a través de un bucle. Es posible que tengas que ajustar el selector según tu código.

Cuando algún select cambia llama a la función "adjustLength" que lo que hace es medir la longitud del valor y en función a este limita el máximo de caracteres que se pueden añadir al input de teléfono y elimina su valor por si estuviese escrito.

Ahora lo que tendrías es que adaptar el código al tuyo. Añadiendo por ejemplo un atributo data-index para poder identificar correctamente la relación entre el select que cambia con el imput del teléfono_1 que tienes que limitar ya que al generarlos en el bucle imagino que tendrás muchos selects y muchos telefono_1.
__________________
Diseño Web - Arisman Web