У меня есть форма, в которой я хотел бы показать определенные поля, основанные на выборе даты рождения в средстве выбора даты.Когда я меняю дату, параметры отображения / скрытия не меняются.
Например, если дата рождения пользователя - 1 января 2004 года, то есть между датой 1 сентября 2004 года и 31 августа 2005 года, тогда яхочу отображать поля 1,2,3.Если они случайно выбрали неверную дату и изменили ее на 1 января 2002 года, поля 1, 2, 3 все равно отображаются вместо полей 4, 5, 6. Однако, если я обновлю страницу и начну заново, используя правильную датуот 1 января 2002 года отображаются правильные поля.
ПРИМЕЧАНИЕ. Я использую WordPress с Formidable Forms Pro.Вот что я получил от Formidable Pro, но проблема «обновления» выходит за их рамки.Вот что у меня есть:
add_action('frm_date_field_js', 'limit_my_date_field');
function limit_my_date_field($field_id){
$key_one = 'bday1819'; // bday1819 is the date field
if($field_id == 'field_'. $key_one){
echo ',onSelect:function(selectedDate,inst){
var theDate=new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay);
var hideDate=new Date(2001, 8, 1);
var hideDate17=new Date(2002, 8, 1);
var hideDate16=new Date(2003, 8, 1);
var hideDate15=new Date(2004, 8, 1);
var hideDate14=new Date(2005, 8, 1);
var hideDate13=new Date(2006, 8, 1);
var hideDate12=new Date(2007, 8, 1);
var changingDate = true;
if(theDate.valueOf() < hideDate.valueOf()){$("#frm_field_4121_container, #frm_field_4120_container, #frm_field_4119_container, #frm_field_4118_container, #frm_field_4117_container, #frm_field_4116_container").hide();}
else if(theDate.valueOf() < hideDate17.valueOf()){$("#frm_field_4120_container, #frm_field_4119_container, #frm_field_4118_container, #frm_field_4117_container, #frm_field_4116_container").hide();}
else if(theDate.valueOf() < hideDate16.valueOf()){$("#frm_field_4122_container, #frm_field_4121_container, #frm_field_4119_container, #frm_field_4118_container, #frm_field_4117_container, #frm_field_4116_container").hide();}
else if(theDate.valueOf() < hideDate15.valueOf()){$("#frm_field_4122_container, #frm_field_4121_container, #frm_field_4118_container, #frm_field_4117_container, #frm_field_4116_container").hide();}
else if(theDate.valueOf() < hideDate14.valueOf()){$("#frm_field_4122_container, #frm_field_4121_container, #frm_field_4120_container, #frm_field_4119_container, #frm_field_4117_container, #frm_field_4116_container").hide();}
else if(theDate.valueOf() < hideDate13.valueOf()){$("#frm_field_4122_container, #frm_field_4121_container, #frm_field_4120_container, #frm_field_4119_container, #frm_field_4116_container").hide();}
else if(theDate.valueOf() < hideDate12.valueOf()){$("#frm_field_4122_container, #frm_field_4121_container, #frm_field_4120_container, #frm_field_4119_container, #frm_field_4118_container, #frm_field_4117_container").hide();}
else{$("#frm_field_4122_container, #frm_field_4121_container, #frm_field_4120_container, #frm_field_4119_container, #frm_field_4118_container, #frm_field_4117_container, #frm_field_4116_container").show();}
}';
}
}
В приведенных выше примерах контейнер 'frm_field _ #### _ относится к скрытому полю (полям), и я выбрал 4116 - 4122.
Я новичок в этом, поэтому любая помощь приветствуется.