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\"" :