diff --git a/swad_HTML.c b/swad_HTML.c index bdc995a3..65e3c8cb 100644 --- a/swad_HTML.c +++ b/swad_HTML.c @@ -1407,7 +1407,7 @@ void HTM_INPUT_FLOAT (const char *Name,double Min,double Max, HTM_Txt (" />"); } -void HTM_INPUT_RADIO (const char *Name,bool SubmitOnClick, +void HTM_INPUT_RADIO (const char *Name,HTM_SubmitOnClick_t SubmitOnClick, const char *fmt,...) { va_list ap; @@ -1433,7 +1433,7 @@ void HTM_INPUT_RADIO (const char *Name,bool SubmitOnClick, } } - if (SubmitOnClick) + if (SubmitOnClick == HTM_SUBMIT_ON_CLICK) HTM_Txt (" onchange=\"this.form.submit();return false;\""); HTM_Txt (" />"); } diff --git a/swad_HTML.h b/swad_HTML.h index 213390dc..41d503b9 100644 --- a/swad_HTML.h +++ b/swad_HTML.h @@ -46,6 +46,12 @@ typedef enum HTM_SUBMIT_ON_CHANGE, } HTM_SubmitOnChange_t; +typedef enum + { + HTM_DONT_SUBMIT_ON_CLICK, + HTM_SUBMIT_ON_CLICK, + } HTM_SubmitOnClick_t; + #define HTM_NUM_HEAD_ALIGN 3 typedef enum { @@ -161,7 +167,7 @@ void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value, const char *fmt,...); void HTM_INPUT_FLOAT (const char *Name,double Min,double Max,double Step,double Value,bool Disabled, const char *fmt,...); -void HTM_INPUT_RADIO (const char *Name,bool SubmitOnClick, +void HTM_INPUT_RADIO (const char *Name,HTM_SubmitOnClick_t SubmitOnClick, const char *fmt,...); void HTM_INPUT_CHECKBOX (const char *Name,HTM_SubmitOnChange_t SubmitOnChange, const char *fmt,...); diff --git a/swad_browser.c b/swad_browser.c index 63b71896..d9b28020 100644 --- a/swad_browser.c +++ b/swad_browser.c @@ -2853,7 +2853,7 @@ static void Brw_FormToChangeCrsGrpZone (void) HTM_LI_Begin ("class=\"%s\"",IsCourseZone ? "BROWSER_TITLE" : "BROWSER_TITLE_LIGHT"); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO (Par_CodeStr[ParCod_Grp],true, + HTM_INPUT_RADIO (Par_CodeStr[ParCod_Grp],HTM_SUBMIT_ON_CLICK, "value=\"-1\"%s", IsCourseZone ? " checked=\"checked\"" : ""); HTM_Txt (Gbl.Hierarchy.Crs.FullName); @@ -2882,7 +2882,7 @@ static void Brw_FormToChangeCrsGrpZone (void) NULL, "class=\"ICO25x25\" style=\"margin-left:6px;\""); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO (Par_CodeStr[ParCod_Grp],true, + HTM_INPUT_RADIO (Par_CodeStr[ParCod_Grp],HTM_SUBMIT_ON_CLICK, "value=\"%ld\"%s", GrpDat.GrpCod, (IsGroupZone && diff --git a/swad_call_for_exam.c b/swad_call_for_exam.c index b966e826..62322e6d 100644 --- a/swad_call_for_exam.c +++ b/swad_call_for_exam.c @@ -1104,7 +1104,8 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams, CurrentYear, CurrentYear + 1,"Exam", &(CallsForExams->CallForExam.ExamDate), - false,false); + HTM_DONT_SUBMIT_ON_CHANGE, + false); HTM_TD_End (); } else diff --git a/swad_changelog.h b/swad_changelog.h index 3475fb4a..8d5bb298 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen. */ -#define Log_PLATFORM_VERSION "SWAD 22.86.2 (2023-03-30)" +#define Log_PLATFORM_VERSION "SWAD 22.86.3 (2023-03-30)" #define CSS_FILE "swad22.86.css" #define JS_FILE "swad22.49.js" /* + Version 22.86.3: Mar 30, 2023 Code refactoring in forms. (338710 lines) Version 22.86.2: Mar 30, 2023 New links to manual about resource clipboard. Fixed bugs in links to resources. (338655 lines) Version 22.86.1: Mar 29, 2023 Icon to remove resource clipboard only if there are resources. (338596 lines) diff --git a/swad_date.c b/swad_date.c index a51c2776..822a767d 100644 --- a/swad_date.c +++ b/swad_date.c @@ -312,7 +312,7 @@ void Dat_PutBoxToSelectDateFormat (void) HTM_LI_Begin ("class=\"DAT_%s\"", The_GetSuffix ()); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("DateFormat",true, + HTM_INPUT_RADIO ("DateFormat",HTM_SUBMIT_ON_CLICK, " value=\"%u\"%s", (unsigned) Format, Format == Gbl.Prefs.DateFormat ? " checked=\"checked\"" : @@ -633,7 +633,7 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS CurrentYear, Dat_FORM_SECONDS_ON, SetHMS[Dat_STR_TIME], - false); // Don't submit on change + HTM_DONT_SUBMIT_ON_CHANGE); /* "Yesterday" and "Today" buttons */ HTM_NBSP (); @@ -660,7 +660,7 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS CurrentYear, Dat_FORM_SECONDS_ON, SetHMS[Dat_END_TIME], - false); // Don't submit on change + HTM_DONT_SUBMIT_ON_CHANGE); HTM_TD_End (); HTM_TR_End (); @@ -701,7 +701,7 @@ void Dat_PutFormStartEndClientLocalDateTimes (const time_t TimeUTC[Dat_NUM_START Dat_GetCurrentYear () + 1, FormSeconds, SetHMS[StartEndTime], // Set hour, minute and second? - false); // Don't submit on change + HTM_DONT_SUBMIT_ON_CHANGE); HTM_TD_End (); HTM_TR_End (); @@ -719,7 +719,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, unsigned LastYear, Dat_FormSeconds FormSeconds, Dat_SetHMS SetHMS, - bool SubmitFormOnChange) + HTM_SubmitOnChange_t SubmitOnChange) { extern const char *Txt_MONTHS_SMALL[12]; unsigned Day; @@ -747,27 +747,33 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, /***** Year *****/ HTM_TD_Begin ("class=\"RM\""); - if (SubmitFormOnChange) - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sYear\" name=\"%sYear\"" - " class=\"INPUT_%s\"" - " onchange=\"" - "adjustDateForm('%s');" - "setUTCFromLocalDateTimeForm('%s');" - "this.form.submit();return false;\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id,Id); - else - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sYear\" name=\"%sYear\"" - " class=\"INPUT_%s\"" - " onchange=\"" - "adjustDateForm('%s');" - "setUTCFromLocalDateTimeForm('%s');\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id,Id); + switch (SubmitOnChange) + { + case HTM_DONT_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sYear\" name=\"%sYear\"" + " class=\"INPUT_%s\"" + " onchange=\"" + "adjustDateForm('%s');" + "setUTCFromLocalDateTimeForm('%s');\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id,Id); + break; + case HTM_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sYear\" name=\"%sYear\"" + " class=\"INPUT_%s\"" + " onchange=\"" + "adjustDateForm('%s');" + "setUTCFromLocalDateTimeForm('%s');" + "this.form.submit();return false;\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id,Id); + break; + } + for (Year = FirstYear; Year <= LastYear; Year++) @@ -778,27 +784,33 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, /***** Month *****/ HTM_TD_Begin ("class=\"CM\""); - if (SubmitFormOnChange) - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sMonth\" name=\"%sMonth\"" - " class=\"INPUT_%s\"" - " onchange=\"" - "adjustDateForm('%s');" - "setUTCFromLocalDateTimeForm('%s');" - "this.form.submit();return false;\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id,Id); - else - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sMonth\" name=\"%sMonth\"" - " class=\"INPUT_%s\"" - " onchange=\"" - "adjustDateForm('%s');" - "setUTCFromLocalDateTimeForm('%s');\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id,Id); + switch (SubmitOnChange) + { + case HTM_DONT_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sMonth\" name=\"%sMonth\"" + " class=\"INPUT_%s\"" + " onchange=\"" + "adjustDateForm('%s');" + "setUTCFromLocalDateTimeForm('%s');\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id,Id); + break; + case HTM_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sMonth\" name=\"%sMonth\"" + " class=\"INPUT_%s\"" + " onchange=\"" + "adjustDateForm('%s');" + "setUTCFromLocalDateTimeForm('%s');" + "this.form.submit();return false;\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id,Id); + break; + } + for (Month = 1; Month <= 12; Month++) @@ -809,23 +821,29 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, /***** Day *****/ HTM_TD_Begin ("class=\"LM\""); - if (SubmitFormOnChange) - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sDay\" name=\"%sDay\"" - " class=\"INPUT_%s\"" - " onchange=\"setUTCFromLocalDateTimeForm('%s');" - "this.form.submit();return false;\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id); - else - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sDay\" name=\"%sDay\"" - " class=\"INPUT_%s\"" - " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id); + switch (SubmitOnChange) + { + case HTM_DONT_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sDay\" name=\"%sDay\"" + " class=\"INPUT_%s\"" + " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id); + break; + case HTM_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sDay\" name=\"%sDay\"" + " class=\"INPUT_%s\"" + " onchange=\"setUTCFromLocalDateTimeForm('%s');" + "this.form.submit();return false;\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id); + break; + } + for (Day = 1; Day <= 31; Day++) @@ -836,23 +854,29 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, /***** Hour *****/ HTM_TD_Begin ("class=\"RM\""); - if (SubmitFormOnChange) - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sHour\" name=\"%sHour\"" - " class=\"INPUT_%s\"" - " onchange=\"setUTCFromLocalDateTimeForm('%s');" - "this.form.submit();return false;\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id); - else - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sHour\" name=\"%sHour\"" - " class=\"INPUT_%s\"" - " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id); + switch (SubmitOnChange) + { + case HTM_DONT_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sHour\" name=\"%sHour\"" + " class=\"INPUT_%s\"" + " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id); + break; + case HTM_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sHour\" name=\"%sHour\"" + " class=\"INPUT_%s\"" + " onchange=\"setUTCFromLocalDateTimeForm('%s');" + "this.form.submit();return false;\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id); + break; + } + for (Hour = 0; Hour <= 23; Hour++) @@ -863,23 +887,29 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, /***** Minute *****/ HTM_TD_Begin ("class=\"CM\""); - if (SubmitFormOnChange) - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sMinute\" name=\"%sMinute\"" - " class=\"INPUT_%s\"" - " onchange=\"setUTCFromLocalDateTimeForm('%s');" - "this.form.submit();return false;\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id); - else - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sMinute\" name=\"%sMinute\"" - " class=\"INPUT_%s\"" - " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id); + switch (SubmitOnChange) + { + case HTM_DONT_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sMinute\" name=\"%sMinute\"" + " class=\"INPUT_%s\"" + " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id); + break; + case HTM_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sMinute\" name=\"%sMinute\"" + " class=\"INPUT_%s\"" + " onchange=\"setUTCFromLocalDateTimeForm('%s');" + "this.form.submit();return false;\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id); + break; + } + for (Minute = 0; Minute < 60; Minute += MinutesIInterval[FormSeconds]) @@ -892,23 +922,29 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, if (FormSeconds == Dat_FORM_SECONDS_ON) { HTM_TD_Begin ("class=\"LM\""); - if (SubmitFormOnChange) - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sSecond\" name=\"%sSecond\"" - " class=\"INPUT_%s\"" - " onchange=\"setUTCFromLocalDateTimeForm('%s');" - "this.form.submit();return false;\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id); - else - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sSecond\" name=\"%sSecond\"" - " class=\"INPUT_%s\"" - " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", - Id,Dat_ParName[StartEndTime], - The_GetSuffix (), - Id); + switch (SubmitOnChange) + { + case HTM_DONT_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sSecond\" name=\"%sSecond\"" + " class=\"INPUT_%s\"" + " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id); + break; + case HTM_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sSecond\" name=\"%sSecond\"" + " class=\"INPUT_%s\"" + " onchange=\"setUTCFromLocalDateTimeForm('%s');" + "this.form.submit();return false;\"", + Id,Dat_ParName[StartEndTime], + The_GetSuffix (), + Id); + break; + } + for (Second = 0; Second <= 59; Second++) @@ -1048,7 +1084,7 @@ See also http://www.ashleyit.com/rs/jsrs/select/php/select.php void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear, const char *Id, struct Dat_Date *DateSelected, - bool SubmitFormOnChange,bool Disabled) + HTM_SubmitOnChange_t SubmitOnChange,bool Disabled) { extern const char *Txt_MONTHS_SMALL[12]; unsigned Year; @@ -1062,27 +1098,32 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear, /***** Year *****/ HTM_TD_Begin ("class=\"CM\""); - if (SubmitFormOnChange) - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sYear\" name=\"%sYear\"" - " class=\"INPUT_%s\"" - "%s" - " onchange=\"adjustDateForm('%s');" - "this.form.submit();return false;\"", - Id,Id, - The_GetSuffix (), - Disabled ? " disabled=\"disabled\"" : "", - Id); - else - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sYear\" name=\"%sYear\"" - " class=\"INPUT_%s\"" - "%s" - " onchange=\"adjustDateForm('%s');\"", - Id,Id, - The_GetSuffix (), - Disabled ? " disabled=\"disabled\"" : "", - Id); + switch (SubmitOnChange) + { + case HTM_DONT_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sYear\" name=\"%sYear\"" + " class=\"INPUT_%s\"" + "%s" + " onchange=\"adjustDateForm('%s');\"", + Id,Id, + The_GetSuffix (), + Disabled ? " disabled=\"disabled\"" : "", + Id); + break; + case HTM_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sYear\" name=\"%sYear\"" + " class=\"INPUT_%s\"" + "%s" + " onchange=\"adjustDateForm('%s');" + "this.form.submit();return false;\"", + Id,Id, + The_GetSuffix (), + Disabled ? " disabled=\"disabled\"" : "", + Id); + break; + } HTM_OPTION (HTM_Type_STRING,"0",false,false, "-"); for (Year = FirstYear; @@ -1096,27 +1137,32 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear, /***** Month *****/ HTM_TD_Begin ("class=\"CM\""); - if (SubmitFormOnChange) - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sMonth\" name=\"%sMonth\"" - " class=\"INPUT_%s\"" - "%s" - " onchange=\"adjustDateForm('%s');" - "this.form.submit();return false;\"", - Id,Id, - The_GetSuffix (), - Disabled ? " disabled=\"disabled\"" : "", - Id); - else - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"%sMonth\" name=\"%sMonth\"" - " class=\"INPUT_%s\"" - "%s" - " onchange=\"adjustDateForm('%s');\"", - Id,Id, - The_GetSuffix (), - Disabled ? " disabled=\"disabled\"" : "", - Id); + switch (SubmitOnChange) + { + case HTM_DONT_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sMonth\" name=\"%sMonth\"" + " class=\"INPUT_%s\"" + "%s" + " onchange=\"adjustDateForm('%s');\"", + Id,Id, + The_GetSuffix (), + Disabled ? " disabled=\"disabled\"" : "", + Id); + break; + case HTM_SUBMIT_ON_CHANGE: + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"%sMonth\" name=\"%sMonth\"" + " class=\"INPUT_%s\"" + "%s" + " onchange=\"adjustDateForm('%s');" + "this.form.submit();return false;\"", + Id,Id, + The_GetSuffix (), + Disabled ? " disabled=\"disabled\"" : "", + Id); + break; + } HTM_OPTION (HTM_Type_STRING,"0",false,false, "-"); for (Month = 1; @@ -1130,7 +1176,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear, /***** Day *****/ HTM_TD_Begin ("class=\"CM\""); - HTM_SELECT_Begin (SubmitFormOnChange, + HTM_SELECT_Begin (SubmitOnChange, "id=\"%sDay\" name=\"%sDay\"" " class=\"INPUT_%s\"" "%s", diff --git a/swad_date.h b/swad_date.h index e2bbc14b..68a20efd 100644 --- a/swad_date.h +++ b/swad_date.h @@ -32,6 +32,7 @@ #include #include "swad_constant.h" +#include "swad_HTML.h" /*****************************************************************************/ /***************************** Public constants ******************************/ @@ -176,7 +177,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, unsigned LastYear, Dat_FormSeconds FormSeconds, Dat_SetHMS SetHMS, - bool SubmitFormOnChange); + HTM_SubmitOnChange_t SubmitOnChange); time_t Dat_GetTimeUTCFromForm (Dat_StartEndTime_t StartEndTime); void Dat_PutParBrowserTZDiff (void); @@ -185,7 +186,7 @@ void Dat_GetBrowserTimeZone (char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1]); void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear, const char *Id, struct Dat_Date *DateSelected, - bool SubmitFormOnChange,bool Disabled); + HTM_SubmitOnChange_t SubmitOnChange,bool Disabled); void Dat_GetDateFromForm (const char *ParNameDay,const char *ParNameMonth,const char *ParNameYear, unsigned *Day,unsigned *Month,unsigned *Year); diff --git a/swad_department.c b/swad_department.c index 198b392a..9c1a5ac7 100644 --- a/swad_department.c +++ b/swad_department.c @@ -983,7 +983,7 @@ void Dpt_WriteSelectorDepartment (long InsCod,long DptCod, const char *SelectClass, long FirstOption, const char *TextWhenNoDptSelected, - bool SubmitFormOnChange) + HTM_SubmitOnChange_t SubmitOnChange) { extern const char *Txt_Another_department; struct Dpt_Departments Departments; @@ -998,7 +998,7 @@ void Dpt_WriteSelectorDepartment (long InsCod,long DptCod, /***** Selector to select department *****/ /* Begin selector */ - HTM_SELECT_Begin (SubmitFormOnChange, + HTM_SELECT_Begin (SubmitOnChange, "id=\"%s\" name=\"%s\" class=\"%s\"", ParName,ParName,SelectClass); diff --git a/swad_department.h b/swad_department.h index bf89849c..6415ceb5 100644 --- a/swad_department.h +++ b/swad_department.h @@ -83,6 +83,6 @@ void Dpt_WriteSelectorDepartment (long InsCod,long DptCod, const char *SelectClass, long FirstOption, const char *TextWhenNoDptSelected, - bool SubmitFormOnChange); + HTM_SubmitOnChange_t SubmitOnChange); #endif diff --git a/swad_enrolment.c b/swad_enrolment.c index 0599991d..bb300fea 100644 --- a/swad_enrolment.c +++ b/swad_enrolment.c @@ -811,7 +811,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void) { HTM_LI_Begin (NULL); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("RegRemAction",false, + HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK, " value=\"%u\" checked=\"checked\"", (unsigned) Enr_REGISTER_SPECIFIED_USRS_IN_CRS); HTM_Txt (Txt_Register_the_users_indicated_in_step_1); @@ -820,7 +820,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void) HTM_LI_Begin (NULL); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("RegRemAction",false, + HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK, " value=\"%u\"", (unsigned) Enr_REMOVE_SPECIFIED_USRS_FROM_CRS); HTM_Txt (Txt_Remove_the_users_indicated_in_step_1); @@ -829,7 +829,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void) HTM_LI_Begin (NULL); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("RegRemAction",false, + HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK, " value=\"%u\"", (unsigned) Enr_REMOVE_NOT_SPECIFIED_USRS_FROM_CRS); HTM_Txt (Txt_Remove_the_users_not_indicated_in_step_1); @@ -838,7 +838,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void) HTM_LI_Begin (NULL); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("RegRemAction",false, + HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK, " value=\"%u\"", (unsigned) Enr_UPDATE_USRS_IN_CRS); HTM_Txt (Txt_Register_the_users_indicated_in_step_1_and_remove_the_users_not_indicated); @@ -851,7 +851,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void) { HTM_LI_Begin (NULL); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("RegRemAction",false, + HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK, " value=\"%u\"", (unsigned) Enr_ELIMINATE_USRS_FROM_PLATFORM); HTM_Txt (Txt_Eliminate_from_the_platform_the_users_indicated_in_step_1); @@ -1598,7 +1598,7 @@ static void Enr_RegRemOneUsrActionBegin (Enr_RegRemOneUsrAction_t RegRemOneUsrAc { HTM_LI_Begin (NULL); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("RegRemAction",false, + HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s", (unsigned) RegRemOneUsrAction, *OptionChecked ? "" : " checked=\"checked\""); diff --git a/swad_forum.c b/swad_forum.c index 04aa61ab..6fa9f2ed 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -1401,7 +1401,7 @@ static void For_PutFormWhichForums (const struct For_Forums *Forums) { HTM_LI_Begin (NULL); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("ForumSet",true, + HTM_INPUT_RADIO ("ForumSet",HTM_SUBMIT_ON_CLICK, "value=\"%u\"%s", (unsigned) ForumSet, (ForumSet == Forums->ForumSet) ? " checked=\"checked\"" : diff --git a/swad_group.c b/swad_group.c index a520083e..2678d25a 100644 --- a/swad_group.c +++ b/swad_group.c @@ -1318,7 +1318,7 @@ static void Grp_ListGroupTypesForEdition (void) CurrentYear + 1, Dat_FORM_SECONDS_ON, Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second - true); // Submit on change + HTM_SUBMIT_ON_CHANGE); HTM_TD_End (); HTM_TR_End (); @@ -1955,7 +1955,7 @@ static bool Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp, { /* Put a radio item */ if (GrpTyp->MandatoryEnrolment) - HTM_INPUT_RADIO (StrGrpCod,false, + HTM_INPUT_RADIO (StrGrpCod,HTM_DONT_SUBMIT_ON_CLICK, "id=\"Grp%ld\" value=\"%ld\"%s%s", Grp->GrpCod,Grp->GrpCod, IBelongToThisGroup ? " checked=\"checked\"" : "", // Group selected? @@ -1963,7 +1963,7 @@ static bool Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp, IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted) " disabled=\"disabled\""); // I can not register else // If the enrolment is not mandatory, I can select no groups - HTM_INPUT_RADIO (StrGrpCod,false, + HTM_INPUT_RADIO (StrGrpCod,HTM_DONT_SUBMIT_ON_CLICK, "id=\"Grp%ld\" value=\"%ld\"%s%s" " onclick=\"selectUnselectRadio(this,this.form.GrpCod%ld,%u)\"", Grp->GrpCod,Grp->GrpCod, @@ -2482,7 +2482,7 @@ static void Grp_PutFormToCreateGroupType (void) CurrentYear + 1, Dat_FORM_SECONDS_ON, Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second - false); // Don't submit on change + HTM_DONT_SUBMIT_ON_CHANGE); HTM_TD_End (); HTM_TR_End (); diff --git a/swad_holiday.c b/swad_holiday.c index 0259eed6..fecd4f0f 100644 --- a/swad_holiday.c +++ b/swad_holiday.c @@ -563,7 +563,8 @@ static void Hld_ListHolidaysForEdition (const struct Hld_Holidays *Holidays, CurrentYear + 1, "Start", &(Holidays->Lst[NumHld].StartDate), - true,false); + HTM_SUBMIT_ON_CHANGE, + false); Frm_EndForm (); HTM_TD_End (); @@ -575,7 +576,8 @@ static void Hld_ListHolidaysForEdition (const struct Hld_Holidays *Holidays, CurrentYear + 1, "End", &(Holidays->Lst[NumHld].EndDate), - true,(Hld->HldTyp == Hld_HOLIDAY)); + HTM_SUBMIT_ON_CHANGE, + (Hld->HldTyp == Hld_HOLIDAY)); Frm_EndForm (); HTM_TD_End (); @@ -927,7 +929,8 @@ static void Hld_PutFormToCreateHoliday (const struct Plc_Places *Places) CurrentYear + 1, "Start", &Hld_EditingHld->StartDate, - false,false); + HTM_DONT_SUBMIT_ON_CHANGE, + false); HTM_TD_End (); /***** Non school period end date *****/ @@ -936,7 +939,8 @@ static void Hld_PutFormToCreateHoliday (const struct Plc_Places *Places) CurrentYear + 1, "End", &Hld_EditingHld->EndDate, - false,false); + HTM_DONT_SUBMIT_ON_CHANGE, + false); HTM_TD_End (); /***** Holiday name *****/ diff --git a/swad_indicator.c b/swad_indicator.c index d3e7c0ef..752b90f6 100644 --- a/swad_indicator.c +++ b/swad_indicator.c @@ -174,7 +174,7 @@ void Ind_ReqIndicatorsCourses (void) SelectClass, // Selector class -1L, // First option Txt_Any_department, // Text when no department selected - true); // Submit on change + HTM_SUBMIT_ON_CHANGE); free (SelectClass); HTM_TD_End (); diff --git a/swad_info.c b/swad_info.c index 5dbf3f48..0fc7c1af 100644 --- a/swad_info.c +++ b/swad_info.c @@ -942,7 +942,8 @@ void Inf_FormsToSelSendInfo (void) Frm_BeginForm (Inf_ActionsSelecInfoSrc[Gbl.Crs.Info.Type]); HTM_INPUT_RADIO ("InfoSrc",InfoSrc != FromDB.Src && (InfoSrc == Inf_NONE || - InfoAvailable[InfoSrc]), // Info available for this source + InfoAvailable[InfoSrc]) ? HTM_SUBMIT_ON_CLICK : + HTM_DONT_SUBMIT_ON_CLICK, "id=\"InfoSrc%u\" value=\"%u\"%s", (unsigned) InfoSrc,(unsigned) InfoSrc, InfoSrc == FromDB.Src ? " checked=\"checked\"" : diff --git a/swad_privacy.c b/swad_privacy.c index 360c07af..103771b9 100644 --- a/swad_privacy.c +++ b/swad_privacy.c @@ -192,7 +192,8 @@ static void Pri_PutFormVisibility (const char *TxtLabel, HTM_LI_Begin ("class=\"DAT_%s\"", The_GetSuffix ()); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO (ParName,Action != ActUnk, + HTM_INPUT_RADIO (ParName,Action == ActUnk ? HTM_DONT_SUBMIT_ON_CLICK : + HTM_SUBMIT_ON_CLICK, "value=\"%u\"%s%s", (unsigned) Visibility, Visibility == CurrentVisibilityInDB ? " checked=\"checked\"" : diff --git a/swad_program_resource.c b/swad_program_resource.c index 5a835cf6..52870669 100644 --- a/swad_program_resource.c +++ b/swad_program_resource.c @@ -945,13 +945,13 @@ static void PrgRsc_ShowClipboardToChangeLink (struct Prg_Item *Item) /***** Current link (empty or not) *****/ Rsc_WriteRowClipboard (&Item->Resource.Link, - false, // Don't submit on click + HTM_DONT_SUBMIT_ON_CLICK, true); // Checked /***** Row with empty link to remove the current link *****/ if (Item->Resource.Link.Type != Rsc_NONE) Rsc_WriteRowClipboard (&EmptyLink, - true, // Submit on click + HTM_SUBMIT_ON_CLICK, false); // Not checked /***** Get links in clipboard from database and write them *****/ @@ -962,7 +962,7 @@ static void PrgRsc_ShowClipboardToChangeLink (struct Prg_Item *Item) { Rsc_GetLinkDataFromRow (mysql_res,&Link); Rsc_WriteRowClipboard (&Link, - true, // Submit on click + HTM_SUBMIT_ON_CLICK, false); // Not checked } DB_FreeMySQLResult (&mysql_res); diff --git a/swad_project.c b/swad_project.c index b9a58277..f2be8e73 100644 --- a/swad_project.c +++ b/swad_project.c @@ -840,7 +840,7 @@ static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects) SelectClass, // Selector class -1L, // First option Txt_Any_department, // Text when no department selected - true); // Submit on change + HTM_SUBMIT_ON_CHANGE); free (SelectClass); /***** End form *****/ @@ -3814,7 +3814,7 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects, SelectClass, // Selector class 0, // First option Txt_Another_department, // Text when no department selected - false); // Don't submit on change + HTM_DONT_SUBMIT_ON_CHANGE); free (SelectClass); HTM_TD_End (); diff --git a/swad_question.c b/swad_question.c index 40a85de7..985e52bb 100644 --- a/swad_question.c +++ b/swad_question.c @@ -644,7 +644,7 @@ void Qst_PutFormToEditQstMedia (const struct Med_Media *Media,int NumMedia, /***** Choice 1: No media *****/ HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ()); - HTM_INPUT_RADIO (ParUploadMedia.Action,false, + HTM_INPUT_RADIO (ParUploadMedia.Action,HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s", (unsigned) Med_ACTION_NO_MEDIA, OptionsDisabled ? " disabled=\"disabled\"" : ""); @@ -654,7 +654,7 @@ void Qst_PutFormToEditQstMedia (const struct Med_Media *Media,int NumMedia, /***** Choice 2: Current media *****/ HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ()); - HTM_INPUT_RADIO (ParUploadMedia.Action,false, + HTM_INPUT_RADIO (ParUploadMedia.Action,HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s checked=\"checked\"", (unsigned) Med_ACTION_KEEP_MEDIA, OptionsDisabled ? " disabled=\"disabled\"" : ""); @@ -667,7 +667,7 @@ void Qst_PutFormToEditQstMedia (const struct Med_Media *Media,int NumMedia, /***** Choice 3: Change media *****/ UniqueId++; HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ()); - HTM_INPUT_RADIO (ParUploadMedia.Action,false, + HTM_INPUT_RADIO (ParUploadMedia.Action,HTM_DONT_SUBMIT_ON_CLICK, "id=\"chg_img_%u\" value=\"%u\"%s", UniqueId, (unsigned) Med_ACTION_NEW_MEDIA, @@ -2030,7 +2030,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question) AnsType++) { HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("AnswerType",false, + HTM_INPUT_RADIO ("AnswerType",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s onclick=\"enableDisableAns(this.form);\"", (unsigned) AnsType, AnsType == Question->Answer.Type ? " checked=\"checked\"" : @@ -2137,7 +2137,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question) The_GetColorRows ()); /* Radio selector for unique choice answers */ - HTM_INPUT_RADIO ("AnsUni",false, + HTM_INPUT_RADIO ("AnsUni",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s%s%s onclick=\"enableDisableAns(this.form);\"", NumOpt, Question->Answer.Options[NumOpt].Correct ? " checked=\"checked\"" : @@ -2290,7 +2290,7 @@ void Qst_PutTFInputField (const struct Qst_Question *Question, const char *Label,char Value) { HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ()); - HTM_INPUT_RADIO ("AnsTF",false, + HTM_INPUT_RADIO ("AnsTF",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%c\"%s%s required=\"required\"", Value, Question->Answer.TF == Value ? " checked=\"checked\"" : diff --git a/swad_record.c b/swad_record.c index d8c90aef..89c26445 100644 --- a/swad_record.c +++ b/swad_record.c @@ -2982,7 +2982,7 @@ static void Rec_ShowRole (struct Usr_Data *UsrDat, { HTM_LABEL_Begin ("class=\"DAT_STRONG_%s\"", The_GetSuffix ()); - HTM_INPUT_RADIO ("Sex",false, + HTM_INPUT_RADIO ("Sex",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s required=\"required\"", (unsigned) Sex, Sex == Gbl.Usrs.Me.UsrDat.Sex ? " checked=\"checked\"" : ""); @@ -3210,7 +3210,8 @@ static void Rec_ShowDateOfBirth (struct Usr_Data *UsrDat,bool ShowData,bool PutF CurrentYear - Rec_USR_MIN_AGE, "Birth", &(UsrDat->Birthday), - false,false); + HTM_DONT_SUBMIT_ON_CHANGE, + false); else if (UsrDat->StrBirthday[0]) HTM_Txt (UsrDat->StrBirthday); } @@ -3907,7 +3908,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) SelectClass, // Selector class -1L, // First option "", // Text when no department selected - true); // Submit on change + HTM_SUBMIT_ON_CHANGE); free (SelectClass); Frm_EndForm (); HTM_TD_End (); diff --git a/swad_resource.c b/swad_resource.c index 274c6689..4024bd19 100644 --- a/swad_resource.c +++ b/swad_resource.c @@ -145,7 +145,7 @@ void Rsc_ShowClipboard (void) /*****************************************************************************/ void Rsc_WriteRowClipboard (const struct Rsc_Link *Link, - bool SubmitOnClick,bool Checked) + HTM_SubmitOnClick_t SubmitOnClick,bool Checked) { extern const char *Txt_RESOURCE_TYPES[Rsc_NUM_TYPES]; diff --git a/swad_resource.h b/swad_resource.h index e7c78621..4c901b64 100644 --- a/swad_resource.h +++ b/swad_resource.h @@ -74,7 +74,7 @@ struct Rsc_Link void Rsc_ShowClipboard (void); void Rsc_WriteRowClipboard (const struct Rsc_Link *Link, - bool SubmitOnClick,bool Checked); + HTM_SubmitOnClick_t SubmitOnClick,bool Checked); void Rsc_WriteLinkName (const struct Rsc_Link *Link,bool PutFormToGo, const char *Icon,const char *IconTitle); void Rsc_WriteResourceEmpty (__attribute__((unused)) long Cod, diff --git a/swad_rubric_criteria.c b/swad_rubric_criteria.c index bb6fc998..61ea6b91 100644 --- a/swad_rubric_criteria.c +++ b/swad_rubric_criteria.c @@ -210,7 +210,7 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics, /***** Row with empty link *****/ Rsc_WriteRowClipboard (&EmptyLink, - false, // Don't submit on click + HTM_DONT_SUBMIT_ON_CLICK, true); // Checked /***** Get links in clipboard from database and write them *****/ @@ -221,7 +221,7 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics, { Rsc_GetLinkDataFromRow (mysql_res,&Link); Rsc_WriteRowClipboard (&Link, - false, // Don't submit on click + HTM_DONT_SUBMIT_ON_CLICK, false); // Not checked } DB_FreeMySQLResult (&mysql_res); @@ -1153,13 +1153,13 @@ static void RubCri_ShowClipboard (struct Rub_Rubrics *Rubrics, /***** Current link (empty or not) *****/ Rsc_WriteRowClipboard (&Criterion->Link, - false, // Don't submit on click + HTM_DONT_SUBMIT_ON_CLICK, true); // Checked /***** Row with empty link to remove the current link *****/ if (Criterion->Link.Type != Rsc_NONE) Rsc_WriteRowClipboard (&EmptyLink, - true, // Don't submit on click + HTM_SUBMIT_ON_CLICK, false); // Checked @@ -1171,7 +1171,7 @@ static void RubCri_ShowClipboard (struct Rub_Rubrics *Rubrics, { Rsc_GetLinkDataFromRow (mysql_res,&Link); Rsc_WriteRowClipboard (&Link, - true, // Don't submit on click + HTM_SUBMIT_ON_CLICK, false); // Checked } DB_FreeMySQLResult (&mysql_res); diff --git a/swad_statistic.c b/swad_statistic.c index dcdc2137..939b9e43 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -348,7 +348,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats) Stats->ClicksGroupedBy != Sta_CLICKS_CRS_DETAILED_LIST) Stats->ClicksGroupedBy = Sta_CLICKS_GROUPED_BY_DEFAULT; - HTM_INPUT_RADIO ("GroupedOrDetailed",false, + HTM_INPUT_RADIO ("GroupedOrDetailed",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s onclick=\"disableDetailedClicks();\"", (unsigned) Sta_CLICKS_GROUPED, Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? "" : @@ -382,7 +382,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats) /***** Option b) Listing of detailed clicks to this course *****/ HTM_LABEL_Begin ("class=\"FORM_IN_%s\"", The_GetSuffix ()); - HTM_INPUT_RADIO ("GroupedOrDetailed",false, + HTM_INPUT_RADIO ("GroupedOrDetailed",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s onclick=\"enableDetailedClicks();\"", (unsigned) Sta_CLICKS_DETAILED, Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? " checked=\"checked\"" : diff --git a/swad_survey.c b/swad_survey.c index f103ab1b..b53a1462 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -2394,7 +2394,7 @@ static void Svy_ShowFormEditOneQst (struct Svy_Surveys *Surveys, AnsType++) { HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("AnswerType",false, + HTM_INPUT_RADIO ("AnswerType",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s", (unsigned) AnsType, AnsType == SvyQst->AnswerType ? " checked=\"checked\"" : ""); @@ -2978,7 +2978,7 @@ static void Svy_WriteAnswersOfAQst (struct Svy_Survey *Svy, snprintf (StrAns,sizeof (StrAns),"Ans%010u", (unsigned) SvyQst->QstCod); if (SvyQst->AnswerType == Svy_ANS_UNIQUE_CHOICE) - HTM_INPUT_RADIO (StrAns,false, + HTM_INPUT_RADIO (StrAns,HTM_DONT_SUBMIT_ON_CLICK, "id=\"Ans%010u_%010u\" value=\"%u\"" " onclick=\"selectUnselectRadio(this,this.form.Ans%010u,%u)\"", (unsigned) SvyQst->QstCod,NumAns,NumAns, diff --git a/swad_syllabus.c b/swad_syllabus.c index 888f45e6..d4c94ae5 100644 --- a/swad_syllabus.c +++ b/swad_syllabus.c @@ -174,7 +174,7 @@ static void Syl_PutFormWhichSyllabus (Syl_WhichSyllabus_t SyllabusSelected) { HTM_LI_Begin (NULL); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("WhichSyllabus",true, + HTM_INPUT_RADIO ("WhichSyllabus",HTM_SUBMIT_ON_CLICK, "value=\"%u\"%s", (unsigned) WhichSyl, WhichSyl == SyllabusSelected ? " checked=\"checked\"" : diff --git a/swad_test_config.c b/swad_test_config.c index b91aa87d..21856e97 100644 --- a/swad_test_config.c +++ b/swad_test_config.c @@ -187,7 +187,7 @@ static void TstCfg_ShowFormConfig (void) { HTM_LABEL_Begin ("class=\"DAT_%s\"", The_GetSuffix ()); - HTM_INPUT_RADIO ("Pluggable",false, + HTM_INPUT_RADIO ("Pluggable",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s", (unsigned) Pluggable, Pluggable == TstCfg_GetConfigPluggable () ? " checked=\"checked\"" : diff --git a/swad_test_print.c b/swad_test_print.c index 6df306df..85cbdefd 100644 --- a/swad_test_print.c +++ b/swad_test_print.c @@ -444,7 +444,7 @@ static void TstPrn_WriteChoAnsToFill (const struct TstPrn_PrintedQuestion *Print snprintf (StrAns,sizeof (StrAns),"Ans%010u",QstInd); if (Question->Answer.Type == Qst_ANS_UNIQUE_CHOICE) - HTM_INPUT_RADIO (StrAns,false, + HTM_INPUT_RADIO (StrAns,HTM_DONT_SUBMIT_ON_CLICK, "id=\"Ans%010u_%u\" value=\"%u\"%s" " onclick=\"selectUnselectRadio(this,this.form.Ans%010u,%u);\"", QstInd,NumOpt, diff --git a/swad_user.c b/swad_user.c index 1371ef45..8c6fe937 100644 --- a/swad_user.c +++ b/swad_user.c @@ -5609,7 +5609,7 @@ static void Usr_ShowOneListUsrsOption (Usr_ListUsrsOption_t ListUsrsAction, { HTM_LI_Begin (NULL); HTM_LABEL_Begin (NULL); - HTM_INPUT_RADIO ("ListUsrsAction",false, + HTM_INPUT_RADIO ("ListUsrsAction",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s", (unsigned) ListUsrsAction, ListUsrsAction == Gbl.Usrs.Selected.Option ? " checked=\"checked\"" :