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 10 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 7 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().

Below is the code I'm using in Form 1. In the grid[…]

In Task1, set the following trigger to execute be[…]

Currency Format in Textbox

I have it working but I noticed that it does not a[…]

Cancel Cases

Hello, I´m not sure if this would help with […]