Un foro de discusión para nuestra comunidad de hispano hablante

Moderator: amosbatto

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
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 14 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!!!!!!
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 11 times
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().

Hello guys, I'm new in ProcessMaker and I have som[…]

DBA changed the php.ini file and the timezone is n[…]

Test SQL Query

I'm working on a suggested field, but I don't rece[…]