Un foro de discusión para nuestra comunidad de hispano hablante
User avatar
By milagrosmaria16
#812540
Buen día,

Tengo una pequeña pregunta, tengo dos campos:

Campo 1 Campo2
*Fijo: *Móvil:

Ambos son obligatorios pero uno se dehabilitará solo si unos de estos es llenado.

Ejm:
Si ingreso el número fijo el campo móvil pasaría a no obligatorio.

Espero su ayuda!!! Muchas gracias.
By gabrielrojas
#812541
Hola milagrosmaria16!

Te comento que acabo de hacer la prueba con tus mismos campos y no puedo hacer submit a menos que llene ambos, estas utilizando la opcion de "required" para ambos campos? Ambos se mantienen en estado de *required independientemente uno del otro

Saludos!
Gabo
User avatar
By amosbatto
#812543
Milagrosmaria,
Puedes usar este código de JavaScript en tu DynaForm:
Code: Select all
$("#numeroFijo").setOnchange(function(newVal, oldVal) {
  if (newVal.trim() == '') {
    $("#numeroMovil").enableValidation();
  }
  else {
    $("#numeroMovil").disableValidation();
  }
});  

$("#numeroMovil").setOnchange(function(newVal, oldVal) {
  if (newVal.trim() == '') {
    $("#numeroFijo").enableValidation();
  }
  else {
    $("#numeroFijo").disableValidation();
  }
});  
Adjunto un ejemplo que puedes usar:
(2.42 KiB) Downloaded 302 times
By lupequispe13
#812781
Buenas tardes compañeros,

Tengo una pregunta con respecto a esto, al llenar el primer campo* (fijo) el segundo queda sin efecto pero si lo lleno también (movil) lo que queda sin efecto es la validación.

Como podría hacer para que si lleno ambos campos no se pierda la validación (Ejm: El fijo debe tener 7 números y el móvil debe tener 9)

¿Podrian ayudarme?

Muchas gracias!!!!!!
User avatar
By amosbatto
#812785
lupequispe13 wrote:Tengo una pregunta con respecto a esto, al llenar el primer campo* (fijo) el segundo queda sin efecto pero si lo lleno también (movil) lo que queda sin efecto es la validación.

Como podría hacer para que si lleno ambos campos no se pierda la validación (Ejm: El fijo debe tener 7 números y el móvil debe tener 9)

¿Podrian ayudarme?
Puedes usar este código:
Code: Select all
getFormById( $("form").prop("id") ).setOnSubmit( function() {
  var fijo = $("#numeroFijo").getValue();
  var movil = $("#numeroMovil").getValue();

  if (fijo == "" && movil == "") {
    return false;
  }
  else if (fijo == "") { 
    $("#numeroFijo").disableValidation();
  }
  else if (movil == "") {
    $("#numeroMovil").disableValidation();
  }
})
User avatar
By milagrosmaria16
#813076
Buenas tardes,

Estoy probando el ejemplo que me enviaste pero sigue sin funcionar, los campos son obligatorios sin hacerse el cambio requerido.

Adjunto mi dynaform, espero me puedas apoyar!!!

Saludos, muchas gracias!!!
Attachments
(21.18 KiB) Downloaded 291 times
User avatar
By amosbatto
#813077
Parece que la validación de campos es antes de la acción de submit. OK, puedes usar este código:
Code: Select all
$("#txtNumContacto").setOnchange(function(newVal, oldVal) {
  var fijo = newVal.trim();
  var movil = $("#txtMovil").getValue().trim();
  
  if (fijo != '') {
    $("#txtNumContacto").enableValidation();
    
    if (movil == '') 
      $("#txtMovil").disableValidation();
  }
  else { //fijo == ''
    if (movil != '') 
      $("#txtNumContacto").disableValidation();
  } 
}); 

$("#txtMovil").setOnchange(function(newVal, oldVal) {
  var movil = newVal.trim();
  var fijo = $("#txtNumContacto").getValue().trim();
  
  if (movil != '') {
    $("#txtMovil").enableValidation();
    
    if (fijo == '') 
      $("#txtNumContact").disableValidation();
  }
  else { //movil == ''
    if (fijo != '') 
      $("#txtMovil").disableValidation();
  } 
}); 
 
Si quieres validación inmediata, puedes usar $("#form\\[txtMovil\\]").keypress() en lugar de
$("#txtMovil").setOnchange().

Experience heightened pleasure with Cenforce 100 M[…]

Get an instant solution to move emails to MBOX for[…]

Most Demanding OST to PST Converter

The most demanding OST to PST Converter is TrijaT[…]

Betvisa clone scripts are pre-built software solut[…]