Bienvenido, Invitado
Recordarme

TEMA:

Checkbox nur anwählbar, wenn Datum in Zukunft 2 meses 2 semanas antes #262377

  • Autor del tema
  • Mehmet
  • Fuera de línea
  • Fresh Breezer
  • Fresh Breezer
  • Mensajes: 12
  • Gracias recibidas: 0
Hi,
how do I get it so that the checkbox is only displayed when the date is entered in the calendar.
So only visible when the date

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Checkbox nur anwählbar, wenn Datum in Zukunft 2 meses 2 semanas antes #262381

  • Avatar de Mirec
  • Mirec
  • Fuera de línea
  • Ultimate Breezer
  • Ultimate Breezer
  • Mensajes: 1182
  • Karma: 2
  • Gracias recibidas: 62
Hi,

I created an example for you and sent it in attached file, please download->unzip->and install it (BF->Configuration->Package Installer->select this xml file->Install Package).

you can find the code init script and Advanced of Form in the visible rules.

Init script:
function ff_QuickForm1660825328_init()
{
setInterval('test()', 500);
} // ff_QuickForm1660825328_init

function test(){

jQuery('#ff_elem9020').change(function() {
    if(jQuery('#ff_elem9020').val() != ""){
    bfToggleFields("on","element","bfQuickMode3670667",bfDeactivateField);

}else{
    bfToggleFields("off","element","bfQuickMode3670667",bfDeactivateField);

}
});
}

-jQuery('#ff_elem9020').change(function() -> instead ff_elem9020 insert id of your calendar element (please use inspect in console)

-bfToggleFields("on","element","bfQuickMode3670667",bfDeactivateField); -> Instead bfQuickMode3670667 insert name of your checkbox (not title).

visible rules:
 turn on element mydummy if yourdummy is something

This code in visible rules should be the same, do not change anything.

Note. Please in end, turn off the element checkbox in the advanced option.

Let me know the result!
Regards,
Mirko
Adjuntos:

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Última Edición: Post by Mirec.

Checkbox nur anwählbar, wenn Datum in Zukunft 2 meses 1 semana antes #262676

  • Autor del tema
  • Mehmet
  • Fuera de línea
  • Fresh Breezer
  • Fresh Breezer
  • Mensajes: 12
  • Gracias recibidas: 0
Hallo Mirko,
habe es jetzt erst ausprobiert, alles Super, du bist der Beste, nur wie kann ich 2 funktionen einbinden?
Gruß
Mehmet
z.B.


function ff_Wochenplan_init()
{
setInterval('test()', 500);
} // ff_Wochenplan_init

function test(){

jQuery('#ff_elem9020').change(function() {
if(jQuery('#ff_elem9020').val() != ""){
bfToggleFields("on","element","1",bfDeactivateField);

}else{
bfToggleFields("off","element","1",bfDeactivateField);

}
});
}

AND

function ff_Wochenplan_init()
{

setInterval('test()', 500);

} // ff_Wochenplan_init

function test(){
var selecteddate =ff_getElementByName('b').value;
var currentdate=ff_getElementByName('c').value;
var time =ff_getElementByName('d').value;

if(time > 16 ){
jQuery("#ff_elem6335").attr("disabled", true);
}
else{
jQuery("#ff_elem6335").attr("disabled", false);
if(selecteddate > currentdate){
jQuery("#ff_elem6335").attr("disabled", true);
}else{
jQuery("#ff_elem6335").attr("disabled", false);
}

}

}

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Checkbox nur anwählbar, wenn Datum in Zukunft 2 meses 1 semana antes #262677

  • Avatar de tihana.krivic
  • tihana.krivic
  • Fuera de línea
  • Moderator
  • Moderator
  • Mensajes: 7387
  • Karma: 3
  • Gracias recibidas: 529
Hi,

you can integrate it like this:
function ff_Wochenplan_init()
{
setInterval('test()', 500);
setInterval('test1()', 500);

} // ff_Wochenplan_init

function test(){

jQuery('#ff_elem9020').change(function() {
if(jQuery('#ff_elem9020').val() != ""){
bfToggleFields("on","element","1",bfDeactivateField);

}else{
bfToggleFields("off","element","1",bfDeactivateField);

}
});
}



function test1(){
var selecteddate =ff_getElementByName('b').value;
var currentdate=ff_getElementByName('c').value;
var time =ff_getElementByName('d').value;

if(time > 16 ){
jQuery("#ff_elem6335").attr("disabled", true);
}
else{
jQuery("#ff_elem6335").attr("disabled", false);
if(selecteddate > currentdate){
jQuery("#ff_elem6335").attr("disabled", true);
}else{
jQuery("#ff_elem6335").attr("disabled", false);
}

}

}

Regards,
Tihana

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Checkbox nur anwählbar, wenn Datum in Zukunft 1 mes 4 semanas antes #262923

  • Autor del tema
  • Mehmet
  • Fuera de línea
  • Fresh Breezer
  • Fresh Breezer
  • Mensajes: 12
  • Gracias recibidas: 0
Hi my calendar has the format %d.%m.%Y now I want a validation that does not put the date in the past outputs an error message such as e.g. ValidateNotPast found a script but it doesn't work:

function ff_validate_date_DDMMYYYY(element, message)
{
// Regular expression used to check if date is in correct format
var pattern = /[0-3][0-9]\/(0|1)[0-9]\/(19|20)[0-9]{2}/;
if(pattern.test(element.value))
{
var date_array = element.value.split('/');
var day = date_array[0];

// Attention! Javascript consider months in the range 0 - 11
var month = date_array[1] - 1;
var year = date_array[2];

// This instruction will create a date object
source_date = new Date(year,month,day);

if(year != source_date.getFullYear())
{
return message == '' ? 'Element ' + element.name + ' failed my test' : message;
}

if(month != source_date.getMonth())
{
return message == '' ? 'Element ' + element.name + ' failed my test' : message;
}

if(day != source_date.getDate())
{
return message == '' ? 'Element ' + element.name + ' failed my test' : message;
}
}
else
{
return message == '' ? 'Element ' + element.name + ' failed my test' : message;
}

return '';
}

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Checkbox nur anwählbar, wenn Datum in Zukunft 1 mes 4 semanas antes #262924

  • Avatar de tihana.krivic
  • tihana.krivic
  • Fuera de línea
  • Moderator
  • Moderator
  • Mensajes: 7387
  • Karma: 3
  • Gracias recibidas: 529
Hi,

please go to your calendar -> properties-> and as a Format put:
%d.%m.%Y
Then go to calendar->Propertis->Validation->check Custom and put:
function ff_calendar2_validation(element, message)
{
    // Checking if the entered date is in right format
   var pattern =  /[0-3][0-9]\.(0|1)[0-9]\.(19|20)[0-9]{2}$/;
   if(pattern.test(element.value))
   {
      var date_array = element.value.split('.');
      var day = date_array[0];
 
      // Attention! Javascript consider months in the range 0 - 11
      var month = date_array[1] - 1;
      var year = date_array[2];
 
      // This instruction will create a date object
      var startDate = new Date(year,month,day);
 }
    
   var today = new Date();
 
     today.setHours(0);
     today.setMinutes(0);
     today.setSeconds(0);
     today.setMilliseconds(0);
     today = today.getTime();
 
     if(startDate < today)
     {
          if (message=='') message = element.name+" date can't be in past.n";
          return message;
     }
     return '';
} // ff_calendar2_validation
Please replace calendar2 with name of your calendar (not title)

Regards,
Tihana

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Tiempo de carga de la página: 0.106 segundos