diff --git a/swad_HTML.c b/swad_HTML.c
index 26b197c7..4d5f1390 100644
--- a/swad_HTML.c
+++ b/swad_HTML.c
@@ -977,7 +977,8 @@ void HTM_LABEL_End (void)
/************************* Input text, email, url ****************************/
/*****************************************************************************/
-void HTM_INPUT_TEXT (const char *Name,unsigned MaxLength,const char *Value,bool SubmitOnChange,
+void HTM_INPUT_TEXT (const char *Name,unsigned MaxLength,const char *Value,
+ HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...)
{
va_list ap;
@@ -1004,7 +1005,7 @@ void HTM_INPUT_TEXT (const char *Name,unsigned MaxLength,const char *Value,bool
}
}
- if (SubmitOnChange)
+ if (SubmitOnChange == HTM_SUBMIT_ON_CHANGE)
HTM_TxtF (" onchange=\"document.getElementById('%s').submit();return false;\"",
Gbl.Form.Id);
@@ -1041,7 +1042,8 @@ void HTM_INPUT_SEARCH (const char *Name,unsigned MaxLength,const char *Value,
HTM_Txt (" />");
}
-void HTM_INPUT_TEL (const char *Name,const char *Value,bool SubmitOnChange,
+void HTM_INPUT_TEL (const char *Name,const char *Value,
+ HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...)
{
va_list ap;
@@ -1068,7 +1070,7 @@ void HTM_INPUT_TEL (const char *Name,const char *Value,bool SubmitOnChange,
}
}
- if (SubmitOnChange)
+ if (SubmitOnChange == HTM_SUBMIT_ON_CHANGE)
HTM_TxtF (" onchange=\"document.getElementById('%s').submit();return false;\"",
Gbl.Form.Id);
@@ -1105,7 +1107,8 @@ void HTM_INPUT_EMAIL (const char *Name,unsigned MaxLength,const char *Value,
HTM_Txt (" />");
}
-void HTM_INPUT_URL (const char *Name,const char *Value,bool SubmitOnChange,
+void HTM_INPUT_URL (const char *Name,const char *Value,
+ HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...)
{
va_list ap;
@@ -1132,14 +1135,15 @@ void HTM_INPUT_URL (const char *Name,const char *Value,bool SubmitOnChange,
}
}
- if (SubmitOnChange)
+ if (SubmitOnChange == HTM_SUBMIT_ON_CHANGE)
HTM_TxtF (" onchange=\"document.getElementById('%s').submit();return false;\"",
Gbl.Form.Id);
HTM_Txt (" />");
}
-void HTM_INPUT_FILE (const char *Name,const char *Accept,bool SubmitOnChange,
+void HTM_INPUT_FILE (const char *Name,const char *Accept,
+ HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...)
{
va_list ap;
@@ -1166,7 +1170,7 @@ void HTM_INPUT_FILE (const char *Name,const char *Accept,bool SubmitOnChange,
}
}
- if (SubmitOnChange)
+ if (SubmitOnChange == HTM_SUBMIT_ON_CHANGE)
HTM_TxtF (" onchange=\"document.getElementById('%s').submit();return false;\"",
Gbl.Form.Id);
HTM_Txt (" />");
@@ -1229,7 +1233,8 @@ void HTM_INPUT_PASSWORD (const char *Name,const char *PlaceHolder,
HTM_Txt (" />");
}
-void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value,bool Disabled,
+void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value,
+ HTM_SubmitOnChange_t SubmitOnChange,bool Disabled,
const char *fmt,...)
{
va_list ap;
@@ -1258,6 +1263,10 @@ void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value,bool Disabled
}
}
+ if (SubmitOnChange == HTM_SUBMIT_ON_CHANGE)
+ HTM_TxtF (" onchange=\"document.getElementById('%s').submit();return false;\"",
+ Gbl.Form.Id);
+
HTM_Txt (" />");
}
@@ -1502,7 +1511,7 @@ void HTM_TEXTAREA_End (void)
/********************************** Selectors ********************************/
/*****************************************************************************/
-void HTM_SELECT_Begin (bool SubmitOnChange,
+void HTM_SELECT_Begin (HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...)
{
va_list ap;
@@ -1530,8 +1539,7 @@ void HTM_SELECT_Begin (bool SubmitOnChange,
else
HTM_SELECT_BeginWithoutAttr ();
-
- if (SubmitOnChange)
+ if (SubmitOnChange == HTM_SUBMIT_ON_CHANGE)
HTM_TxtF (" onchange=\"document.getElementById('%s').submit();return false;\"",
Gbl.Form.Id);
diff --git a/swad_HTML.h b/swad_HTML.h
index 8fc36092..aa7687f2 100644
--- a/swad_HTML.h
+++ b/swad_HTML.h
@@ -121,24 +121,29 @@ void HTM_PARAM (const char *Name,
void HTM_LABEL_Begin (const char *fmt,...);
void HTM_LABEL_End (void);
-void HTM_INPUT_TEXT (const char *Name,unsigned MaxLength,const char *Value,bool SubmitOnChange,
+void HTM_INPUT_TEXT (const char *Name,unsigned MaxLength,const char *Value,
+ HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...);
void HTM_INPUT_SEARCH (const char *Name,unsigned MaxLength,const char *Value,
const char *fmt,...);
-void HTM_INPUT_TEL (const char *Name,const char *Value,bool SubmitOnChange,
+void HTM_INPUT_TEL (const char *Name,const char *Value,
+ HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...);
void HTM_INPUT_EMAIL (const char *Name,unsigned MaxLength,const char *Value,
const char *fmt,...);
-void HTM_INPUT_URL (const char *Name,const char *Value,bool SubmitOnChange,
+void HTM_INPUT_URL (const char *Name,const char *Value,
+ HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...);
-void HTM_INPUT_FILE (const char *Name,const char *Accept,bool SubmitOnChange,
+void HTM_INPUT_FILE (const char *Name,const char *Accept,
+ HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...);
void HTM_INPUT_BUTTON (const char *Name,const char *Value,const char *Attr);
void HTM_INPUT_IMAGE (const char *URL,const char *Icon,const char *Title,const char *Class);
void HTM_INPUT_PASSWORD (const char *Name,const char *PlaceHolder,
const char *AutoComplete,bool Required,
const char *fmt,...);
-void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value,bool Disabled,
+void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value,
+ HTM_SubmitOnChange_t SubmitOnChange,bool Disabled,
const char *fmt,...);
void HTM_INPUT_FLOAT (const char *Name,double Min,double Max,double Step,double Value,bool Disabled,
const char *fmt,...);
@@ -156,7 +161,7 @@ void HTM_BUTTON_End (void);
void HTM_TEXTAREA_Begin (const char *fmt,...);
void HTM_TEXTAREA_End (void);
-void HTM_SELECT_Begin (bool SubmitOnChange,
+void HTM_SELECT_Begin (HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...);
void HTM_SELECT_End (void);
void HTM_OPTGROUP_Begin (const char *Label);
diff --git a/swad_ID.c b/swad_ID.c
index 46c9a12a..2154e4a4 100644
--- a/swad_ID.c
+++ b/swad_ID.c
@@ -710,7 +710,7 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
HTM_INPUT_TEXT ("NewID",ID_MAX_BYTES_USR_ID,
UsrDat->IDs.Num ? UsrDat->IDs.List[UsrDat->IDs.Num - 1].ID :
"", // Show the most recent ID
- false,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"NewID\" size=\"18\"");
HTM_BR ();
Btn_PutCreateButtonInline (Txt_Add_this_ID);
diff --git a/swad_account.c b/swad_account.c
index 45e0b834..f239b1e2 100644
--- a/swad_account.c
+++ b/swad_account.c
@@ -159,7 +159,7 @@ static void Acc_ShowFormCheckIfIHaveAccount (const char *Title)
Frm_StartForm (ActChkUsrAcc);
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_ID);
- HTM_INPUT_TEXT ("ID",ID_MAX_CHARS_USR_ID,"",false,
+ HTM_INPUT_TEXT ("ID",ID_MAX_CHARS_USR_ID,"",HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"18\" required=\"required\"");
HTM_LABEL_End ();
Btn_PutCreateButtonInline (Txt_Check);
@@ -386,7 +386,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char NewNicknameWitho
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("NewNick",1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA,
- NewNicknameWithArroba,false,
+ NewNicknameWithArroba,HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"NewNick\" size=\"18\" placeholder=\"%s\" required=\"required\"",
Txt_HELP_nickname);
HTM_TD_End ();
diff --git a/swad_action.c b/swad_action.c
index 892e935f..3854cfcd 100644
--- a/swad_action.c
+++ b/swad_action.c
@@ -725,7 +725,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActUp_ExaSet ] = {1895,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_MoveUpSet ,NULL},
[ActDwnExaSet ] = {1896,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_MoveDownSet ,NULL},
[ActChgTitExaSet ] = {1897,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_ChangeSetTitle ,NULL},
- [ActChgNumQstExaSet ] = {1899,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_RecFormSet ,NULL},
+ [ActChgNumQstExaSet ] = {1899,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_ChangeNumQstsToExam ,NULL},
[ActAddOneExaQst ] = {1885,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDates ,Exa_RequestNewQuestion ,NULL},
[ActLstTstQstForExa ] = {1886,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_ListQuestionsToSelect ,NULL},
diff --git a/swad_agenda.c b/swad_agenda.c
index 1d3d1efb..dd6ec64a 100644
--- a/swad_agenda.c
+++ b/swad_agenda.c
@@ -1637,7 +1637,8 @@ void Agd_RequestCreatOrEditEvent (void)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_TEXT ("Event",Agd_MAX_CHARS_EVENT,AgdEvent.Event,false,
+ HTM_INPUT_TEXT ("Event",Agd_MAX_CHARS_EVENT,AgdEvent.Event,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Event\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
@@ -1652,7 +1653,8 @@ void Agd_RequestCreatOrEditEvent (void)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_TEXT ("Location",Agd_MAX_CHARS_LOCATION,AgdEvent.Location,false,
+ HTM_INPUT_TEXT ("Location",Agd_MAX_CHARS_LOCATION,AgdEvent.Location,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Location\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
diff --git a/swad_assignment.c b/swad_assignment.c
index 695ad564..19d7b2ca 100644
--- a/swad_assignment.c
+++ b/swad_assignment.c
@@ -1250,7 +1250,8 @@ void Asg_RequestCreatOrEditAsg (void)
/* Data */
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("Title",Asg_MAX_CHARS_ASSIGNMENT_TITLE,Asg.Title,false,
+ HTM_INPUT_TEXT ("Title",Asg_MAX_CHARS_ASSIGNMENT_TITLE,Asg.Title,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
@@ -1273,7 +1274,8 @@ void Asg_RequestCreatOrEditAsg (void)
HTM_TD_Begin ("class=\"LM\"");
HTM_LABEL_Begin ("class=\"DAT\"");
HTM_TxtF ("%s:",Txt_Folder);
- HTM_INPUT_TEXT ("Folder",Brw_MAX_CHARS_FOLDER,Asg.Folder,false,
+ HTM_INPUT_TEXT ("Folder",Brw_MAX_CHARS_FOLDER,Asg.Folder,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Folder\" size=\"30\"");
HTM_LABEL_End ();
HTM_TD_End ();
diff --git a/swad_attendance.c b/swad_attendance.c
index a2cdc906..1877c257 100644
--- a/swad_attendance.c
+++ b/swad_attendance.c
@@ -1164,7 +1164,8 @@ void Att_RequestCreatOrEditAttEvent (void)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_TEXT ("Title",Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE,Event.Title,false,
+ HTM_INPUT_TEXT ("Title",Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE,Event.Title,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
@@ -1184,7 +1185,8 @@ void Att_RequestCreatOrEditAttEvent (void)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_SELECT_Begin (false,"id=\"ComTchVisible\" name=\"ComTchVisible\"");
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
+ "id=\"ComTchVisible\" name=\"ComTchVisible\"");
HTM_OPTION (HTM_Type_STRING,"N",!Event.CommentTchVisible,false,
"%s",Txt_Hidden_MALE_PLURAL);
HTM_OPTION (HTM_Type_STRING,"Y",Event.CommentTchVisible,false,
diff --git a/swad_banner.c b/swad_banner.c
index d2990f7b..aab1f456 100644
--- a/swad_banner.c
+++ b/swad_banner.c
@@ -494,7 +494,8 @@ static void Ban_ListBannersForEdition (struct Ban_Banners *Banners)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenBanSho);
Ban_PutParamBanCodToEdit (&Banners->BanCodToEdit);
- HTM_INPUT_TEXT ("ShortName",Ban_MAX_CHARS_SHRT_NAME,Ban->ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Ban_MAX_CHARS_SHRT_NAME,Ban->ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -503,7 +504,8 @@ static void Ban_ListBannersForEdition (struct Ban_Banners *Banners)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenBanFul);
Ban_PutParamBanCodToEdit (&Banners->BanCodToEdit);
- HTM_INPUT_TEXT ("FullName",Ban_MAX_CHARS_FULL_NAME,Ban->FullName,true,
+ HTM_INPUT_TEXT ("FullName",Ban_MAX_CHARS_FULL_NAME,Ban->FullName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -512,7 +514,8 @@ static void Ban_ListBannersForEdition (struct Ban_Banners *Banners)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgBanImg);
Ban_PutParamBanCodToEdit (&Banners->BanCodToEdit);
- HTM_INPUT_TEXT ("Img",Ban_MAX_CHARS_IMAGE,Ban->Img,true,
+ HTM_INPUT_TEXT ("Img",Ban_MAX_CHARS_IMAGE,Ban->Img,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"12\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -521,7 +524,7 @@ static void Ban_ListBannersForEdition (struct Ban_Banners *Banners)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgBanWWW);
Ban_PutParamBanCodToEdit (&Banners->BanCodToEdit);
- HTM_INPUT_URL ("WWW",Ban->WWW,true,
+ HTM_INPUT_URL ("WWW",Ban->WWW,HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -946,25 +949,28 @@ static void Ban_PutFormToCreateBanner (const struct Ban_Banner *Ban)
/***** Banner short name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("ShortName",Ban_MAX_CHARS_SHRT_NAME,Ban->ShrtName,false,
+ HTM_INPUT_TEXT ("ShortName",Ban_MAX_CHARS_SHRT_NAME,Ban->ShrtName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Banner full name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("FullName",Ban_MAX_CHARS_FULL_NAME,Ban->FullName,false,
+ HTM_INPUT_TEXT ("FullName",Ban_MAX_CHARS_FULL_NAME,Ban->FullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Banner image *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("Img",Ban_MAX_CHARS_IMAGE,Ban->Img,false,
+ HTM_INPUT_TEXT ("Img",Ban_MAX_CHARS_IMAGE,Ban->Img,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"12\" required=\"required\"");
HTM_TD_End ();
/***** Banner WWW *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_URL ("WWW",Ban->WWW,false,
+ HTM_INPUT_URL ("WWW",Ban->WWW,HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_building.c b/swad_building.c
index be572144..f63c29b3 100644
--- a/swad_building.c
+++ b/swad_building.c
@@ -508,7 +508,8 @@ static void Bld_ListBuildingsForEdition (const struct Bld_Buildings *Buildings)
HTM_TD_Begin ("class=\"LM\"");
Frm_StartFormAnchor (ActRenBldSho,Anchor);
Bld_PutParamBldCod (Building->BldCod);
- HTM_INPUT_TEXT ("ShortName",Bld_MAX_CHARS_SHRT_NAME,Building->ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Bld_MAX_CHARS_SHRT_NAME,Building->ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"10\" class=\"INPUT_SHORT_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -517,7 +518,8 @@ static void Bld_ListBuildingsForEdition (const struct Bld_Buildings *Buildings)
HTM_TD_Begin ("class=\"LM\"");
Frm_StartFormAnchor (ActRenBldFul,Anchor);
Bld_PutParamBldCod (Building->BldCod);
- HTM_INPUT_TEXT ("FullName",Bld_MAX_CHARS_FULL_NAME,Building->FullName,true,
+ HTM_INPUT_TEXT ("FullName",Bld_MAX_CHARS_FULL_NAME,Building->FullName,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"20\" class=\"INPUT_FULL_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -526,7 +528,8 @@ static void Bld_ListBuildingsForEdition (const struct Bld_Buildings *Buildings)
HTM_TD_Begin ("class=\"LM\"");
Frm_StartFormAnchor (ActRenBldLoc,Anchor);
Bld_PutParamBldCod (Building->BldCod);
- HTM_INPUT_TEXT ("Location",Bld_MAX_CHARS_LOCATION,Building->Location,true,
+ HTM_INPUT_TEXT ("Location",Bld_MAX_CHARS_LOCATION,Building->Location,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"15\" class=\"INPUT_FULL_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -831,19 +834,22 @@ static void Bld_PutFormToCreateBuilding (void)
/***** Building short name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("ShortName",Bld_MAX_CHARS_SHRT_NAME,Bld_EditingBuilding->ShrtName,false,
+ HTM_INPUT_TEXT ("ShortName",Bld_MAX_CHARS_SHRT_NAME,Bld_EditingBuilding->ShrtName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"10\" class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Building full name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("FullName",Bld_MAX_CHARS_FULL_NAME,Bld_EditingBuilding->FullName,false,
+ HTM_INPUT_TEXT ("FullName",Bld_MAX_CHARS_FULL_NAME,Bld_EditingBuilding->FullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"20\" class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Building location *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("Location",Bld_MAX_CHARS_LOCATION,Bld_EditingBuilding->Location,false,
+ HTM_INPUT_TEXT ("Location",Bld_MAX_CHARS_LOCATION,Bld_EditingBuilding->Location,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"15\" class=\"INPUT_FULL_NAME\"");
HTM_TD_End ();
diff --git a/swad_centre.c b/swad_centre.c
index b5f7dcd3..c8f63751 100644
--- a/swad_centre.c
+++ b/swad_centre.c
@@ -877,10 +877,10 @@ void Ctr_WriteSelectorOfCentre (void)
Frm_StartFormGoTo (ActSeeDeg);
if (Gbl.Hierarchy.Ins.InsCod > 0)
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"ctr\" name=\"ctr\" class=\"HIE_SEL\"");
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"ctr\" name=\"ctr\" class=\"HIE_SEL\""
" disabled=\"disabled\"");
HTM_OPTION (HTM_Type_STRING,"",
@@ -998,7 +998,7 @@ static void Ctr_ListCentresForEdition (const struct Plc_Places *Places)
{
Frm_StartForm (ActChgCtrPlc);
Ctr_PutParamOtherCtrCod (Ctr->CtrCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"PlcCod\" class=\"PLC_SEL\"");
HTM_OPTION (HTM_Type_STRING,"0",
Ctr->PlcCod == 0,false,
@@ -1026,7 +1026,8 @@ static void Ctr_ListCentresForEdition (const struct Plc_Places *Places)
{
Frm_StartForm (ActRenCtrSho);
Ctr_PutParamOtherCtrCod (Ctr->CtrCod);
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Ctr->ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Ctr->ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\"");
Frm_EndForm ();
}
@@ -1040,7 +1041,8 @@ static void Ctr_ListCentresForEdition (const struct Plc_Places *Places)
{
Frm_StartForm (ActRenCtrFul);
Ctr_PutParamOtherCtrCod (Ctr->CtrCod);
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Ctr->FullName,true,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Ctr->FullName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\"");
Frm_EndForm ();
}
@@ -1054,7 +1056,7 @@ static void Ctr_ListCentresForEdition (const struct Plc_Places *Places)
{
Frm_StartForm (ActChgCtrWWW);
Ctr_PutParamOtherCtrCod (Ctr->CtrCod);
- HTM_INPUT_URL ("WWW",Ctr->WWW,true,
+ HTM_INPUT_URL ("WWW",Ctr->WWW,HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
Frm_EndForm ();
}
@@ -1101,7 +1103,7 @@ static void Ctr_ListCentresForEdition (const struct Plc_Places *Places)
{
Frm_StartForm (ActChgCtrSta);
Ctr_PutParamOtherCtrCod (Ctr->CtrCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"Status\" class=\"INPUT_STATUS\"");
StatusUnsigned = (unsigned) Ctr_GetStatusBitsFromStatusTxt (Ctr_STATUS_PENDING);
@@ -1637,7 +1639,7 @@ static void Ctr_PutFormToCreateCentre (const struct Plc_Places *Places)
/***** Place *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"PlcCod\" class=\"PLC_SEL\"");
HTM_OPTION (HTM_Type_STRING,"0",
Ctr_EditingCtr->PlcCod == 0,false,
@@ -1653,19 +1655,21 @@ static void Ctr_PutFormToCreateCentre (const struct Plc_Places *Places)
/***** Centre short name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Ctr_EditingCtr->ShrtName,false,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Ctr_EditingCtr->ShrtName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Centre full name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Ctr_EditingCtr->FullName,false,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Ctr_EditingCtr->FullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Centre WWW *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_URL ("WWW",Ctr_EditingCtr->WWW,false,
+ HTM_INPUT_URL ("WWW",Ctr_EditingCtr->WWW,HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_centre_config.c b/swad_centre_config.c
index 110697f0..31197354 100644
--- a/swad_centre_config.c
+++ b/swad_centre_config.c
@@ -580,7 +580,7 @@ static void CtrCfg_Institution (bool PrintView,bool PutForm)
/* Put form to select institution */
Frm_StartForm (ActChgCtrInsCfg);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"OthInsCod\" name=\"OthInsCod\""
" class=\"INPUT_SHORT_NAME\"");
for (NumIns = 0;
@@ -678,7 +678,7 @@ static void CtrCfg_Place (bool PutForm)
/* Put form to select place */
Frm_StartForm (ActChgCtrPlcCfg);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"PlcCod\" class=\"INPUT_SHORT_NAME\"");
HTM_OPTION (HTM_Type_STRING,"0",
Gbl.Hierarchy.Ctr.PlcCod == 0,false,
@@ -894,7 +894,9 @@ void CtrCfg_RequestPhoto (void)
/***** Upload photo *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_File_with_the_photo);
- HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,"image/*",true,NULL);
+ HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,"image/*",
+ HTM_SUBMIT_ON_CHANGE,
+ NULL);
HTM_LABEL_End ();
/***** End box *****/
diff --git a/swad_changelog.h b/swad_changelog.h
index 346357ff..06530ac1 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -544,12 +544,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
-#define Log_PLATFORM_VERSION "SWAD 19.200 (2020-04-27)"
+#define Log_PLATFORM_VERSION "SWAD 19.201 (2020-04-27)"
#define CSS_FILE "swad19.193.1.css"
#define JS_FILE "swad19.193.1.js"
/*
+ Version 19.201: Apr 27, 2020 Form to change number of questions in exam.
+ Code refactoring in HTML forms. (300755 lines)
Version 19.200: Apr 27, 2020 Text of actions related to exams.
- Form to edit title of set of questions. (300526 lines)
+ Form to change title of set of questions. (300526 lines)
Version 19.199.3: Apr 27, 2020 Changes moving sets of questions in an exam up and down. (299361 lines)
2 changes necessary in database:
ALTER TABLE gam_questions CHANGE COLUMN QstInd QstInd INT NOT NULL;
diff --git a/swad_connected.c b/swad_connected.c
index 10f4e78c..1f695648 100644
--- a/swad_connected.c
+++ b/swad_connected.c
@@ -276,7 +276,7 @@ static void Con_ShowConnectedUsrsBelongingToLocation (void)
/* Put form to change scope */
Frm_StartForm (ActLstCon);
- Sco_PutSelectorScope ("ScopeCon",true);
+ Sco_PutSelectorScope ("ScopeCon",HTM_SUBMIT_ON_CHANGE);
Frm_EndForm ();
HTM_DIV_End ();
diff --git a/swad_country.c b/swad_country.c
index f7bc6289..1e4fc86f 100644
--- a/swad_country.c
+++ b/swad_country.c
@@ -946,7 +946,7 @@ void Cty_WriteSelectorOfCountry (void)
/***** Begin form *****/
Frm_StartFormGoTo (ActSeeIns);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"cty\" name=\"cty\" class=\"HIE_SEL\"");
HTM_OPTION (HTM_Type_STRING,"",Gbl.Hierarchy.Cty.CtyCod < 0,true,
"[%s]",Txt_Country);
@@ -1258,7 +1258,8 @@ static void Cty_ListCountriesForEdition (void)
Frm_StartForm (ActRenCty);
Cty_PutParamOtherCtyCod (Cty->CtyCod);
Par_PutHiddenParamUnsigned (NULL,"Lan",(unsigned) Lan);
- HTM_INPUT_TEXT ("Name",Cty_MAX_CHARS_NAME,Cty->Name[Lan],true,
+ HTM_INPUT_TEXT ("Name",Cty_MAX_CHARS_NAME,Cty->Name[Lan],
+ HTM_SUBMIT_ON_CHANGE,
"size=\"15\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -1268,7 +1269,7 @@ static void Cty_ListCountriesForEdition (void)
Frm_StartForm (ActChgCtyWWW);
Cty_PutParamOtherCtyCod (Cty->CtyCod);
Par_PutHiddenParamUnsigned (NULL,"Lan",(unsigned) Lan);
- HTM_INPUT_URL ("WWW",Cty->WWW[Lan],true,
+ HTM_INPUT_URL ("WWW",Cty->WWW[Lan],HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -1632,13 +1633,13 @@ static void Cty_PutFormToCreateCountry (void)
Cty_EditingCty->CtyCod);
else
StrCtyCod[0] = '\0';
- HTM_INPUT_TEXT ("OthCtyCod",3,StrCtyCod,false,
+ HTM_INPUT_TEXT ("OthCtyCod",3,StrCtyCod,HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"3\" required=\"required\"");
HTM_TD_End ();
/***** Alphabetic country code with 2 letters (ISO 3166-1) *****/
HTM_TD_Begin ("rowspan=\"%u\" class=\"RT\"",1 + Lan_NUM_LANGUAGES);
- HTM_INPUT_TEXT ("Alpha2",2,Cty_EditingCty->Alpha2,false,
+ HTM_INPUT_TEXT ("Alpha2",2,Cty_EditingCty->Alpha2,HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"2\" required=\"required\"");
HTM_TD_End ();
@@ -1673,7 +1674,8 @@ static void Cty_PutFormToCreateCountry (void)
snprintf (StrName,sizeof (StrName),
"Name_%s",
Lan_STR_LANG_ID[Lan]);
- HTM_INPUT_TEXT (StrName,Cty_MAX_CHARS_NAME,Cty_EditingCty->Name[Lan],false,
+ HTM_INPUT_TEXT (StrName,Cty_MAX_CHARS_NAME,Cty_EditingCty->Name[Lan],
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"15\" required=\"required\"");
HTM_TD_End ();
@@ -1682,7 +1684,7 @@ static void Cty_PutFormToCreateCountry (void)
snprintf (StrName,sizeof (StrName),
"WWW_%s",
Lan_STR_LANG_ID[Lan]);
- HTM_INPUT_URL (StrName,Cty_EditingCty->WWW[Lan],false,
+ HTM_INPUT_URL (StrName,Cty_EditingCty->WWW[Lan],HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_course.c b/swad_course.c
index b48b59ac..1f805757 100644
--- a/swad_course.c
+++ b/swad_course.c
@@ -577,10 +577,10 @@ void Crs_WriteSelectorOfCourse (void)
/***** Begin form *****/
Frm_StartFormGoTo (ActSeeCrsInf);
if (Gbl.Hierarchy.Deg.DegCod > 0)
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"crs\" name=\"crs\" class=\"HIE_SEL\"");
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"crs\" name=\"crs\" class=\"HIE_SEL\""
" disabled=\"disabled\"");
HTM_OPTION (HTM_Type_STRING,"",Gbl.Hierarchy.Crs.CrsCod < 0,true,
@@ -745,7 +745,7 @@ void Crs_WriteSelectorMyCoursesInBreadcrumb (void)
ActReqSch);
/***** Start selector of courses *****/
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"my_courses\" name=\"crs\"");
/***** Write an option when no course selected *****/
@@ -1160,7 +1160,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
Frm_StartForm (ActChgInsCrsCod);
Crs_PutParamOtherCrsCod (Crs->CrsCod);
HTM_INPUT_TEXT ("InsCrsCod",Crs_MAX_CHARS_INSTITUTIONAL_CRS_COD,
- Crs->InstitutionalCrsCod,true,
+ Crs->InstitutionalCrsCod,HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_INS_CODE\"");
Frm_EndForm ();
}
@@ -1174,7 +1174,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
{
Frm_StartForm (ActChgCrsYea);
Crs_PutParamOtherCrsCod (Crs->CrsCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"OthCrsYear\" class=\"HIE_SEL_NARROW\"");
for (YearAux = 0;
YearAux <= Deg_MAX_YEARS_PER_DEGREE;
@@ -1195,7 +1195,8 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
{
Frm_StartForm (ActRenCrsSho);
Crs_PutParamOtherCrsCod (Crs->CrsCod);
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Crs->ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Crs->ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\"");
Frm_EndForm ();
}
@@ -1209,7 +1210,8 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
{
Frm_StartForm (ActRenCrsFul);
Crs_PutParamOtherCrsCod (Crs->CrsCod);
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Crs->FullName,true,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Crs->FullName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\"");
Frm_EndForm ();
}
@@ -1243,7 +1245,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
{
Frm_StartForm (ActChgCrsSta);
Crs_PutParamOtherCrsCod (Crs->CrsCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"Status\" class=\"INPUT_STATUS\"");
StatusUnsigned = (unsigned) Crs_GetStatusBitsFromStatusTxt (Crs_STATUS_PENDING);
@@ -1362,13 +1364,14 @@ static void Crs_PutFormToCreateCourse (void)
/***** Institutional code of the course *****/
HTM_TD_Begin ("class=\"CM\"");
HTM_INPUT_TEXT ("InsCrsCod",Crs_MAX_CHARS_INSTITUTIONAL_CRS_COD,
- Crs_EditingCrs->InstitutionalCrsCod,false,
+ Crs_EditingCrs->InstitutionalCrsCod,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_INS_CODE\"");
HTM_TD_End ();
/***** Year *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"OthCrsYear\" class=\"HIE_SEL_NARROW\"");
for (Year = 0;
Year <= Deg_MAX_YEARS_PER_DEGREE;
@@ -1381,13 +1384,15 @@ static void Crs_PutFormToCreateCourse (void)
/***** Course short name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Crs_EditingCrs->ShrtName,false,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Crs_EditingCrs->ShrtName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Course full name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Crs_EditingCrs->FullName,false,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Crs_EditingCrs->FullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
@@ -2793,7 +2798,7 @@ void Crs_AskRemoveOldCrss (void)
/***** Form to request number of months without clicks *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s ",Txt_Eliminate_all_courses_whithout_users_PART_1_OF_2);
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"Months\"");
for (i = Crs_MIN_MONTHS_WITHOUT_ACCESS_TO_REMOVE_OLD_CRSS;
i <= Crs_MAX_MONTHS_WITHOUT_ACCESS_TO_REMOVE_OLD_CRSS;
diff --git a/swad_course_config.c b/swad_course_config.c
index 3d3f9a01..e70154f8 100644
--- a/swad_course_config.c
+++ b/swad_course_config.c
@@ -237,7 +237,7 @@ static void CrsCfg_Degree (bool PrintView,bool PutForm)
/* Put form to select degree */
Frm_StartForm (ActChgCrsDegCfg);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"OthDegCod\" name=\"OthDegCod\""
" class=\"INPUT_SHORT_NAME\"");
for (NumDeg = 0;
@@ -322,7 +322,7 @@ static void CrsCfg_Year (bool PutForm)
if (PutForm)
{
Frm_StartForm (ActChgCrsYeaCfg);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"OthCrsYear\" name=\"OthCrsYear\"");
for (Year = 0;
Year <= Deg_MAX_YEARS_PER_DEGREE;
@@ -363,7 +363,8 @@ static void CrsCfg_InstitutionalCode (bool PutForm)
{
Frm_StartForm (ActChgInsCrsCodCfg);
HTM_INPUT_TEXT ("InsCrsCod",Crs_MAX_CHARS_INSTITUTIONAL_CRS_COD,
- Gbl.Hierarchy.Crs.InstitutionalCrsCod,true,
+ Gbl.Hierarchy.Crs.InstitutionalCrsCod,
+ HTM_SUBMIT_ON_CHANGE,
"id=\"InsCrsCod\" size=\"%u\" class=\"INPUT_INS_CODE\"",
Crs_MAX_CHARS_INSTITUTIONAL_CRS_COD);
Frm_EndForm ();
diff --git a/swad_date.c b/swad_date.c
index b7f2f15b..71caf528 100644
--- a/swad_date.c
+++ b/swad_date.c
@@ -554,7 +554,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
/***** Year *****/
HTM_TD_Begin ("class=\"RM\"");
if (SubmitFormOnChange)
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\""
" onchange=\""
"adjustDateForm('%s');"
@@ -563,7 +563,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
Id,ParamName,Id,Id,
Gbl.Form.Id);
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\""
" onchange=\""
"adjustDateForm('%s');"
@@ -580,7 +580,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
/***** Month *****/
HTM_TD_Begin ("class=\"CM\"");
if (SubmitFormOnChange)
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\""
" onchange=\""
"adjustDateForm('%s');"
@@ -589,7 +589,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
Id,ParamName,Id,Id,
Gbl.Form.Id);
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\""
" onchange=\""
"adjustDateForm('%s');"
@@ -606,14 +606,14 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
/***** Day *****/
HTM_TD_Begin ("class=\"LM\"");
if (SubmitFormOnChange)
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sDay\" name=\"%sDay\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"document.getElementById('%s').submit();return false;\"",
Id,ParamName,Id,
Gbl.Form.Id);
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sDay\" name=\"%sDay\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,ParamName,Id);
@@ -628,14 +628,14 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
/***** Hour *****/
HTM_TD_Begin ("class=\"RM\"");
if (SubmitFormOnChange)
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sHour\" name=\"%sHour\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"document.getElementById('%s').submit();return false;\"",
Id,ParamName,Id,
Gbl.Form.Id);
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sHour\" name=\"%sHour\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,ParamName,Id);
@@ -650,14 +650,14 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
/***** Minute *****/
HTM_TD_Begin ("class=\"CM\"");
if (SubmitFormOnChange)
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMinute\" name=\"%sMinute\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"document.getElementById('%s').submit();return false;\"",
Id,ParamName,Id,
Gbl.Form.Id);
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMinute\" name=\"%sMinute\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,ParamName,Id);
@@ -674,14 +674,14 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
{
HTM_TD_Begin ("class=\"LM\"");
if (SubmitFormOnChange)
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sSecond\" name=\"%sSecond\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');"
"document.getElementById('%s').submit();return false;\"",
Id,ParamName,Id,
Gbl.Form.Id);
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sSecond\" name=\"%sSecond\""
" onchange=\"setUTCFromLocalDateTimeForm('%s');\"",
Id,ParamName,Id);
@@ -856,7 +856,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
/***** Year *****/
HTM_TD_Begin ("class=\"CM\"");
if (SubmitFormOnChange)
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\"%s"
" onchange=\"adjustDateForm('%s');"
"document.getElementById('%s').submit();return false;\"",
@@ -865,7 +865,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
Id,
Gbl.Form.Id);
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sYear\" name=\"%sYear\"%s"
" onchange=\"adjustDateForm('%s');\"",
Id,Id,
@@ -885,7 +885,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
/***** Month *****/
HTM_TD_Begin ("class=\"CM\"");
if (SubmitFormOnChange)
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\"%s"
" onchange=\"adjustDateForm('%s');"
"document.getElementById('%s').submit();return false;\"",
@@ -894,7 +894,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
Id,
Gbl.Form.Id);
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%sMonth\" name=\"%sMonth\"%s"
" onchange=\"adjustDateForm('%s');\"",
Id,Id,
diff --git a/swad_degree.c b/swad_degree.c
index 92ac0862..00594c18 100644
--- a/swad_degree.c
+++ b/swad_degree.c
@@ -254,10 +254,10 @@ void Deg_WriteSelectorOfDegree (void)
/***** Begin form *****/
Frm_StartFormGoTo (ActSeeCrs);
if (Gbl.Hierarchy.Ctr.CtrCod > 0)
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"deg\" name=\"deg\" class=\"HIE_SEL\"");
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"deg\" name=\"deg\" class=\"HIE_SEL\""
" disabled=\"disabled\"");
HTM_OPTION (HTM_Type_STRING,"",
@@ -395,7 +395,8 @@ static void Deg_ListDegreesForEdition (void)
{
Frm_StartForm (ActRenDegSho);
Deg_PutParamOtherDegCod (Deg->DegCod);
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Deg->ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Deg->ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\"");
Frm_EndForm ();
}
@@ -409,7 +410,8 @@ static void Deg_ListDegreesForEdition (void)
{
Frm_StartForm (ActRenDegFul);
Deg_PutParamOtherDegCod (Deg->DegCod);
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Deg->FullName,true,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Deg->FullName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\"");
Frm_EndForm ();
}
@@ -423,7 +425,7 @@ static void Deg_ListDegreesForEdition (void)
{
Frm_StartForm (ActChgDegTyp);
Deg_PutParamOtherDegCod (Deg->DegCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"OthDegTypCod\" class=\"HIE_SEL_NARROW\"");
for (NumDegTyp = 0;
NumDegTyp < Gbl.DegTypes.Num;
@@ -452,7 +454,7 @@ static void Deg_ListDegreesForEdition (void)
{
Frm_StartForm (ActChgDegWWW);
Deg_PutParamOtherDegCod (Deg->DegCod);
- HTM_INPUT_URL ("WWW",Deg->WWW,true,
+ HTM_INPUT_URL ("WWW",Deg->WWW,HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
Frm_EndForm ();
}
@@ -489,7 +491,7 @@ static void Deg_ListDegreesForEdition (void)
{
Frm_StartForm (ActChgDegSta);
Deg_PutParamOtherDegCod (Deg->DegCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"Status\" class=\"INPUT_STATUS\"");
StatusUnsigned = (unsigned) Deg_GetStatusBitsFromStatusTxt (Deg_STATUS_PENDING);
HTM_OPTION (HTM_Type_UNSIGNED,&StatusUnsigned,true,false,
@@ -610,19 +612,21 @@ static void Deg_PutFormToCreateDegree (void)
/***** Degree short name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Deg_EditingDeg->ShrtName,false,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Deg_EditingDeg->ShrtName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Degree full name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Deg_EditingDeg->FullName,false,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Deg_EditingDeg->FullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Degree type *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"OthDegTypCod\" class=\"HIE_SEL_NARROW\"");
for (NumDegTyp = 0;
NumDegTyp < Gbl.DegTypes.Num;
@@ -638,7 +642,7 @@ static void Deg_PutFormToCreateDegree (void)
/***** Degree WWW *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_URL ("WWW",Deg_EditingDeg->WWW,false,
+ HTM_INPUT_URL ("WWW",Deg_EditingDeg->WWW,HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_degree_config.c b/swad_degree_config.c
index 82aabd88..554a6937 100644
--- a/swad_degree_config.c
+++ b/swad_degree_config.c
@@ -230,7 +230,7 @@ static void DegCfg_Centre (bool PrintView,bool PutForm)
/* Put form to select centre */
Frm_StartForm (ActChgDegCtrCfg);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"OthCtrCod\" name=\"OthCtrCod\""
" class=\"INPUT_SHORT_NAME\"");
for (NumCtr = 0;
diff --git a/swad_degree_type.c b/swad_degree_type.c
index 4d04321c..7527fcdc 100644
--- a/swad_degree_type.c
+++ b/swad_degree_type.c
@@ -114,7 +114,7 @@ void DT_WriteSelectorDegreeTypes (long SelectedDegTypCod)
DT_GetListDegreeTypes (Hie_SYS,DT_ORDER_BY_DEGREE_TYPE);
/* List degree types */
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"OthDegTypCod\" name=\"OthDegTypCod\"");
HTM_OPTION (HTM_Type_STRING,"-1",
SelectedDegTypCod == -1L,false,
@@ -424,7 +424,8 @@ static void DT_ListDegreeTypesForEdition (void)
Frm_StartForm (ActRenDegTyp);
DT_PutParamOtherDegTypCod (Gbl.DegTypes.Lst[NumDegTyp].DegTypCod);
HTM_INPUT_TEXT ("DegTypName",Deg_MAX_CHARS_DEGREE_TYPE_NAME,
- Gbl.DegTypes.Lst[NumDegTyp].DegTypName,true,
+ Gbl.DegTypes.Lst[NumDegTyp].DegTypName,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"25\" required=\"required\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -482,7 +483,8 @@ static void DT_PutFormToCreateDegreeType (void)
/***** Degree type name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("DegTypName",Deg_MAX_CHARS_DEGREE_TYPE_NAME,DT_EditingDegTyp->DegTypName,false,
+ HTM_INPUT_TEXT ("DegTypName",Deg_MAX_CHARS_DEGREE_TYPE_NAME,DT_EditingDegTyp->DegTypName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"25\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_department.c b/swad_department.c
index e336b740..357b204d 100644
--- a/swad_department.c
+++ b/swad_department.c
@@ -574,7 +574,7 @@ static void Dpt_ListDepartmentsForEdition (const struct Dpt_Departments *Departm
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgDptIns);
Dpt_PutParamDptCod (Dpt->DptCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"OthInsCod\" class=\"HIE_SEL_NARROW\"");
HTM_OPTION (HTM_Type_STRING,"0",Dpt->InsCod == 0,false,
"%s",Txt_Another_institution);
@@ -592,7 +592,8 @@ static void Dpt_ListDepartmentsForEdition (const struct Dpt_Departments *Departm
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenDptSho);
Dpt_PutParamDptCod (Dpt->DptCod);
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Dpt->ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Dpt->ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -601,7 +602,8 @@ static void Dpt_ListDepartmentsForEdition (const struct Dpt_Departments *Departm
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenDptFul);
Dpt_PutParamDptCod (Dpt->DptCod);
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Dpt->FullName,true,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Dpt->FullName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -610,7 +612,7 @@ static void Dpt_ListDepartmentsForEdition (const struct Dpt_Departments *Departm
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgDptWWW);
Dpt_PutParamDptCod (Dpt->DptCod);
- HTM_INPUT_URL ("WWW",Dpt->WWW,true,
+ HTM_INPUT_URL ("WWW",Dpt->WWW,HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -944,7 +946,7 @@ static void Dpt_PutFormToCreateDepartment (void)
/***** Institution *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"OthInsCod\" class=\"HIE_SEL_NARROW\"");
HTM_OPTION (HTM_Type_STRING,"0",Dpt_EditingDpt->InsCod == 0,false,
"%s",Txt_Another_institution);
@@ -959,19 +961,21 @@ static void Dpt_PutFormToCreateDepartment (void)
/***** Department short name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Dpt_EditingDpt->ShrtName,false,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Dpt_EditingDpt->ShrtName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Department full name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Dpt_EditingDpt->FullName,false,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Dpt_EditingDpt->FullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Department WWW *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_URL ("WWW",Dpt_EditingDpt->WWW,false,
+ HTM_INPUT_URL ("WWW",Dpt_EditingDpt->WWW,HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_enrolment.c b/swad_enrolment.c
index e13e425a..56fc4db3 100644
--- a/swad_enrolment.c
+++ b/swad_enrolment.c
@@ -392,7 +392,8 @@ void Enr_WriteFormToReqAnotherUsrID (Act_Action_t NextAction,void (*FuncParams)
HTM_TxtColonNBSP (Txt_nick_email_or_ID);
HTM_LABEL_End ();
- HTM_INPUT_TEXT ("OtherUsrIDNickOrEMail",Cns_MAX_CHARS_EMAIL_ADDRESS,"",false,
+ HTM_INPUT_TEXT ("OtherUsrIDNickOrEMail",Cns_MAX_CHARS_EMAIL_ADDRESS,"",
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"OtherUsrIDNickOrEMail\" size=\"18\" required=\"required\"");
/***** Send button*****/
@@ -819,7 +820,7 @@ void Enr_AskRemoveOldUsrs (void)
/***** Form to request number of months without clicks *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s ",Txt_Eliminate_all_users_who_are_not_enroled_on_any_courses_PART_1_OF_2);
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"Months\"");
for (Months = Usr_MIN_MONTHS_WITHOUT_ACCESS_TO_REMOVE_OLD_USRS;
Months <= Usr_MAX_MONTHS_WITHOUT_ACCESS_TO_REMOVE_OLD_USRS;
@@ -2289,7 +2290,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/* Data */
HTM_TD_Begin ("class=\"LM\"");
- Sco_PutSelectorScope ("ScopeEnr",true);
+ Sco_PutSelectorScope ("ScopeEnr",HTM_SUBMIT_ON_CHANGE);
HTM_TD_End ();
HTM_TR_End ();
diff --git a/swad_exam.c b/swad_exam.c
index 3e79d8d0..b9175b85 100644
--- a/swad_exam.c
+++ b/swad_exam.c
@@ -168,6 +168,8 @@ static void ExaSet_CreateSet (struct ExaSet_Set *Set);
static void ExaSet_UpdateSet (const struct ExaSet_Set *Set);
static void ExaSet_UpdateSetTitleDB (const struct ExaSet_Set *Set,
const char NewTitle[ExaSet_MAX_BYTES_TITLE + 1]);
+static void ExaSet_UpdateNumQstsToExamDB (const struct ExaSet_Set *Set,
+ unsigned NumQstsToExam);
static void Exa_CreateExam (struct Exa_Exam *Exam,const char *Txt);
static void Exa_UpdateExam (struct Exa_Exam *Exam,const char *Txt);
@@ -1603,7 +1605,8 @@ static void ExaSet_PutFormNewSet (struct Exa_Exams *Exams,
/***** Title *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("Title",ExaSet_MAX_CHARS_TITLE,Set->Title,false,
+ HTM_INPUT_TEXT ("Title",ExaSet_MAX_CHARS_TITLE,Set->Title,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
@@ -1615,7 +1618,8 @@ static void ExaSet_PutFormNewSet (struct Exa_Exams *Exams,
/***** Number of questions to appear in the exam *****/
HTM_TD_Begin ("class=\"RM\"");
- HTM_INPUT_LONG ("NumQstsToExam",0,UINT_MAX,(long) Set->NumQstsToExam,false,
+ HTM_INPUT_LONG ("NumQstsToExam",0,UINT_MAX,(long) Set->NumQstsToExam,
+ HTM_DONT_SUBMIT_ON_CHANGE,false,
"class=\"INPUT_LONG\" required=\"required\"");
HTM_TD_End ();
@@ -1777,6 +1781,62 @@ void ExaSet_ChangeSetTitle (void)
Exa_PutFormsOneExam (&Exams,&Exam,&Set,
false); // It's not a new exam
}
+/*****************************************************************************/
+/***** Receive form to change number of questions to appear in the exam ******/
+/*****************************************************************************/
+
+void ExaSet_ChangeNumQstsToExam (void)
+ {
+ struct Exa_Exams Exams;
+ struct Exa_Exam Exam;
+ struct ExaSet_Set Set;
+ unsigned NumQstsToExam;
+
+ /***** Check if I can edit exams *****/
+ if (!Exa_CheckIfICanEditExams ())
+ Lay_NoPermissionExit ();
+
+ /***** Reset exams context *****/
+ Exa_ResetExams (&Exams);
+
+ /***** Reset exam and set *****/
+ Exa_ResetExam (&Exam);
+ ExaSet_ResetSet (&Set);
+
+ /***** Get parameters *****/
+ Exa_GetParams (&Exams);
+ if (Exams.ExaCod <= 0)
+ Lay_WrongExamExit ();
+ Set.ExaCod = Exam.ExaCod = Exams.ExaCod;
+ Set.SetCod = ExaSet_GetParamSetCod ();
+ if (Set.SetCod <= 0)
+ Lay_WrongSetExit ();
+ Exams.SetCod = Set.SetCod;
+
+ /***** Get exam and set data from database *****/
+ Exa_GetDataOfExamByCod (&Exam);
+ ExaSet_GetDataOfSetByCod (&Set);
+
+ /***** Get number of questions in set to appear in exam *****/
+ NumQstsToExam = (unsigned) Par_GetParToUnsignedLong ("NumQstsToExam",
+ 0,
+ UINT_MAX,
+ 0);
+
+ /***** Check if title should be changed *****/
+ if (NumQstsToExam != Set.NumQstsToExam)
+ {
+ /* Update the table changing old number by new number */
+ ExaSet_UpdateNumQstsToExamDB (&Set,NumQstsToExam);
+
+ /* Update title */
+ Set.NumQstsToExam = NumQstsToExam;
+ }
+
+ /***** Show current exam and its sets *****/
+ Exa_PutFormsOneExam (&Exams,&Exam,&Set,
+ false); // It's not a new exam
+ }
/*****************************************************************************/
/********************* Put a form to create/edit an exam **********************/
@@ -1825,7 +1885,8 @@ static void Exa_PutFormEditionExam (struct Exa_Exams *Exams,
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_TEXT ("Title",Exa_MAX_CHARS_TITLE,Exam->Title,false,
+ HTM_INPUT_TEXT ("Title",Exa_MAX_CHARS_TITLE,Exam->Title,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
@@ -2053,6 +2114,22 @@ static void ExaSet_UpdateSetTitleDB (const struct ExaSet_Set *Set,
Set->SetCod,Set->ExaCod);
}
+/*****************************************************************************/
+/********* Update number of questions to appear in exam in database **********/
+/*****************************************************************************/
+
+static void ExaSet_UpdateNumQstsToExamDB (const struct ExaSet_Set *Set,
+ unsigned NumQstsToExam)
+ {
+ /***** Update set of questions changing old number by new number *****/
+ DB_QueryUPDATE ("can not update the number of questions to appear in exam",
+ "UPDATE exa_sets SET NumQstsToExam=%u"
+ " WHERE SetCod=%ld"
+ " AND ExaCod=%ld", // Extra check
+ NumQstsToExam,
+ Set->SetCod,Set->ExaCod);
+ }
+
/*****************************************************************************/
/**************************** Create a new exam ******************************/
/*****************************************************************************/
@@ -2835,7 +2912,8 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
HTM_ARTICLE_Begin (Anchor);
Frm_StartFormAnchor (ActChgTitExaSet,Anchor);
ExaSet_PutParamsOneSet (Exams);
- HTM_INPUT_TEXT ("Title",ExaSet_MAX_CHARS_TITLE,Set.Title,true,
+ HTM_INPUT_TEXT ("Title",ExaSet_MAX_CHARS_TITLE,Set.Title,
+ HTM_SUBMIT_ON_CHANGE,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
Frm_EndForm ();
@@ -2849,7 +2927,12 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
/***** Number of questions to appear in exam *****/
HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd);
- HTM_Unsigned (Set.NumQstsToExam);
+ Frm_StartFormAnchor (ActChgNumQstExaSet,Anchor);
+ ExaSet_PutParamsOneSet (Exams);
+ HTM_INPUT_LONG ("NumQstsToExam",0,UINT_MAX,(long) Set.NumQstsToExam,
+ HTM_SUBMIT_ON_CHANGE,false,
+ "class=\"INPUT_LONG\" required=\"required\"");
+ Frm_EndForm ();
HTM_TD_End ();
/***** End row *****/
diff --git a/swad_exam.h b/swad_exam.h
index 231b36c6..87cd8e5c 100644
--- a/swad_exam.h
+++ b/swad_exam.h
@@ -153,6 +153,7 @@ void Exa_RequestCreatOrEditExam (void);
void ExaSet_RecFormSet (void);
void ExaSet_ChangeSetTitle (void);
+void ExaSet_ChangeNumQstsToExam (void);
void Exa_RecFormExam (void);
bool Mch_CheckIfMatchIsAssociatedToGrp (long EvtCod,long GrpCod);
diff --git a/swad_exam_announcement.c b/swad_exam_announcement.c
index d8f20a11..f77bdcb4 100644
--- a/swad_exam_announcement.c
+++ b/swad_exam_announcement.c
@@ -1200,7 +1200,8 @@ static void ExaAnn_ShowExamAnnouncement (struct ExaAnn_ExamAnnouncements *ExamAn
/* Data */
HTM_TD_Begin ("class=\"EXAM LT\"");
if (TypeViewExamAnnouncement == ExaAnn_FORM_VIEW)
- HTM_INPUT_TEXT ("CrsName",Hie_MAX_CHARS_FULL_NAME,ExamAnns->ExamAnn.CrsFullName,false,
+ HTM_INPUT_TEXT ("CrsName",Hie_MAX_CHARS_FULL_NAME,ExamAnns->ExamAnn.CrsFullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"CrsName\" size=\"30\"");
else
{
@@ -1225,7 +1226,7 @@ static void ExaAnn_ShowExamAnnouncement (struct ExaAnn_ExamAnnouncements *ExamAn
HTM_TD_Begin ("class=\"EXAM LT\"");
if (TypeViewExamAnnouncement == ExaAnn_FORM_VIEW)
{
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Year\" name=\"Year\"");
for (Year = 0;
Year <= Deg_MAX_YEARS_PER_DEGREE;
@@ -1253,7 +1254,8 @@ static void ExaAnn_ShowExamAnnouncement (struct ExaAnn_ExamAnnouncements *ExamAn
/* Data */
HTM_TD_Begin ("class=\"EXAM LT\"");
if (TypeViewExamAnnouncement == ExaAnn_FORM_VIEW)
- HTM_INPUT_TEXT ("ExamSession",ExaAnn_MAX_CHARS_SESSION,ExamAnns->ExamAnn.Session,false,
+ HTM_INPUT_TEXT ("ExamSession",ExaAnn_MAX_CHARS_SESSION,ExamAnns->ExamAnn.Session,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"ExamSession\" size=\"30\"");
else
HTM_Txt (ExamAnns->ExamAnn.Session);
@@ -1298,7 +1300,7 @@ static void ExaAnn_ShowExamAnnouncement (struct ExaAnn_ExamAnnouncements *ExamAn
HTM_TD_Begin ("class=\"EXAM LT\"");
if (TypeViewExamAnnouncement == ExaAnn_FORM_VIEW)
{
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"ExamHour\"");
HTM_OPTION (HTM_Type_STRING,"0",
ExamAnns->ExamAnn.StartTime.Hour == 0,false,
@@ -1311,7 +1313,7 @@ static void ExaAnn_ShowExamAnnouncement (struct ExaAnn_ExamAnnouncements *ExamAn
"%02u %s",Hour,Txt_hours_ABBREVIATION);
HTM_SELECT_End ();
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"ExamMinute\"");
for (Minute = 0;
Minute <= 59;
@@ -1338,7 +1340,7 @@ static void ExaAnn_ShowExamAnnouncement (struct ExaAnn_ExamAnnouncements *ExamAn
HTM_TD_Begin ("class=\"EXAM LT\"");
if (TypeViewExamAnnouncement == ExaAnn_FORM_VIEW)
{
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"DurationHour\"");
for (Hour = 0;
Hour <= 8;
@@ -1348,7 +1350,7 @@ static void ExaAnn_ShowExamAnnouncement (struct ExaAnn_ExamAnnouncements *ExamAn
"%02u %s",Hour,Txt_hours_ABBREVIATION);
HTM_SELECT_End ();
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"DurationMinute\"");
for (Minute = 0;
Minute <= 59;
diff --git a/swad_exam_event.c b/swad_exam_event.c
index a3089f02..197810d5 100644
--- a/swad_exam_event.c
+++ b/swad_exam_event.c
@@ -1352,7 +1352,8 @@ static void ExaEvt_PutFormNewEvent (const struct Exa_Exam *Exam)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_TEXT ("Title",Exa_MAX_CHARS_TITLE,Exam->Title,false,
+ HTM_INPUT_TEXT ("Title",Exa_MAX_CHARS_TITLE,Exam->Title,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" size=\"45\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_figure.c b/swad_figure.c
index 5f989e32..32490e05 100644
--- a/swad_figure.c
+++ b/swad_figure.c
@@ -236,14 +236,14 @@ static void Fig_ReqShowFigure (Fig_FigureType_t SelectedFigureType)
1 << Hie_CRS;
Gbl.Scope.Default = Hie_SYS;
Sco_GetScope ("ScopeFig");
- Sco_PutSelectorScope ("ScopeFig",false);
+ Sco_PutSelectorScope ("ScopeFig",HTM_DONT_SUBMIT_ON_CHANGE);
HTM_LABEL_End ();
HTM_BR ();
/***** Type of statistic *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_Statistic);
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"FigureType\"");
for (FigType = (Fig_FigureType_t) 0;
FigType <= (Fig_FigureType_t) (Fig_NUM_FIGURES - 1);
diff --git a/swad_file_browser.c b/swad_file_browser.c
index 0eba17dc..a88a0741 100644
--- a/swad_file_browser.c
+++ b/swad_file_browser.c
@@ -6309,7 +6309,8 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
HTM_NBSP ();
if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I rename this folder?
{
- HTM_INPUT_TEXT ("NewFolderName",Brw_MAX_CHARS_FOLDER,Gbl.FileBrowser.FilFolLnk.Name,true,
+ HTM_INPUT_TEXT ("NewFolderName",Brw_MAX_CHARS_FOLDER,Gbl.FileBrowser.FilFolLnk.Name,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"%s %s\"",
Gbl.FileBrowser.InputStyle,
Gbl.FileBrowser.Clipboard.IsThisFile ? "LIGHT_GREEN" :
@@ -8389,7 +8390,8 @@ static void Brw_PutFormToCreateAFolder (const char FileNameToShow[NAME_MAX + 1])
/***** Folder *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_Folder);
- HTM_INPUT_TEXT ("NewFolderName",Brw_MAX_CHARS_FOLDER,"",false,
+ HTM_INPUT_TEXT ("NewFolderName",Brw_MAX_CHARS_FOLDER,"",
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"30\" required=\"required\"");
HTM_LABEL_End ();
@@ -8486,7 +8488,9 @@ static void Brw_PutFormToUploadOneFileClassic (const char *FileNameToShow)
/***** Form to upload one files using the classic way *****/
Frm_StartForm (Brw_ActUploadFileClassic[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
- HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,"*",false,NULL);
+ HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,"*",
+ HTM_DONT_SUBMIT_ON_CHANGE,
+ NULL);
/* Button to send */
Btn_PutCreateButton (Txt_Upload_file);
@@ -8562,7 +8566,7 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_URL ("NewLinkURL","",false,
+ HTM_INPUT_URL ("NewLinkURL","",HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"30\" required=\"required\"");
HTM_TD_End ();
@@ -8579,7 +8583,8 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
/* Data */
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("NewLinkName",Brw_MAX_CHARS_FOLDER,"",false,
+ HTM_INPUT_TEXT ("NewLinkName",Brw_MAX_CHARS_FOLDER,"",
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"NewLinkName\" size=\"30\"");
HTM_TD_End ();
@@ -9633,7 +9638,7 @@ void Brw_ShowFileMetadata (void)
HTM_TD_Begin ("class=\"DAT LT\"");
if (ICanChangePublic) // I can change file to public
{
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"PublicFile\" name=\"PublicFile\"");
HTM_OPTION (HTM_Type_STRING,"N",
!FileMetadata.IsPublic,false,
@@ -9660,7 +9665,7 @@ void Brw_ShowFileMetadata (void)
HTM_TD_Begin ("class=\"DAT LT\"");
if (ICanEdit) // I can edit file properties
{
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"License\" name=\"License\" class=\"LICENSE\"");
for (License = (Brw_License_t) 0;
License <= (Brw_License_t) (Brw_NUM_LICENSES - 1);
@@ -12180,7 +12185,7 @@ void Brw_AskRemoveOldFiles (void)
/***** Form to request number of months (to remove files older) *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s ",Txt_Remove_files_older_than_PART_1_OF_2);
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"Months\"");
for (Months = Brw_MIN_MONTHS_TO_REMOVE_OLD_FILES;
Months <= Brw_MAX_MONTHS_IN_BRIEFCASE;
diff --git a/swad_forum.c b/swad_forum.c
index a284d2c4..1345c353 100644
--- a/swad_forum.c
+++ b/swad_forum.c
@@ -3894,7 +3894,8 @@ static void For_WriteFormForumPst (struct For_Forums *Forums,
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Subject",Cns_MAX_CHARS_SUBJECT,
IsReply ? Subject :
- "",false,
+ "",
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Subject\" class=\"MSG_SUBJECT\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_game.c b/swad_game.c
index 2fa7be68..f5f4a633 100644
--- a/swad_game.c
+++ b/swad_game.c
@@ -1424,7 +1424,8 @@ static void Gam_PutFormsEditionGame (struct Gam_Games *Games,
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_TEXT ("Title",Gam_MAX_CHARS_TITLE,Game->Title,false,
+ HTM_INPUT_TEXT ("Title",Gam_MAX_CHARS_TITLE,Game->Title,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
diff --git a/swad_group.c b/swad_group.c
index 6fd547b8..7a5bce14 100644
--- a/swad_group.c
+++ b/swad_group.c
@@ -1328,7 +1328,8 @@ static void Grp_ListGroupTypesForEdition (void)
Frm_StartFormAnchor (ActRenGrpTyp,Grp_GROUP_TYPES_SECTION_ID);
Grp_PutParamGrpTypCod (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME,
- Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypName,true,
+ Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypName,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"12\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -1337,7 +1338,7 @@ static void Grp_ListGroupTypesForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartFormAnchor (ActChgMdtGrpTyp,Grp_GROUP_TYPES_SECTION_ID);
Grp_PutParamGrpTypCod (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"MandatoryEnrolment\""
" style=\"width:150px;\"");
HTM_OPTION (HTM_Type_STRING,"N",
@@ -1354,7 +1355,7 @@ static void Grp_ListGroupTypesForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartFormAnchor (ActChgMulGrpTyp,Grp_GROUP_TYPES_SECTION_ID);
Grp_PutParamGrpTypCod (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"MultipleEnrolment\""
" style=\"width:150px;\"");
HTM_OPTION (HTM_Type_STRING,"N",
@@ -1554,7 +1555,7 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartFormAnchor (ActChgGrpTyp,Grp_GROUPS_SECTION_ID);
Grp_PutParamGrpCod (Grp->GrpCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"GrpTypCod\" style=\"width:100px;\"");
/* Options for group types */
@@ -1577,7 +1578,8 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartFormAnchor (ActRenGrp,Grp_GROUPS_SECTION_ID);
Grp_PutParamGrpCod (Grp->GrpCod);
- HTM_INPUT_TEXT ("GrpName",Grp_MAX_CHARS_GROUP_NAME,Grp->GrpName,true,
+ HTM_INPUT_TEXT ("GrpName",Grp_MAX_CHARS_GROUP_NAME,Grp->GrpName,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"20\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -1587,7 +1589,7 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartFormAnchor (ActChgGrpRoo,Grp_GROUPS_SECTION_ID);
Grp_PutParamGrpCod (Grp->GrpCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"RooCod\" style=\"width:100px;\"");
/* Option for no assigned room */
@@ -1628,7 +1630,8 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
Frm_StartFormAnchor (ActChgMaxStdGrp,Grp_GROUPS_SECTION_ID);
Grp_PutParamGrpCod (Grp->GrpCod);
Grp_WriteMaxStds (StrMaxStudents,Grp->MaxStudents);
- HTM_INPUT_TEXT ("MaxStudents",Cns_MAX_DECIMAL_DIGITS_UINT,StrMaxStudents,true,
+ HTM_INPUT_TEXT ("MaxStudents",Cns_MAX_DECIMAL_DIGITS_UINT,StrMaxStudents,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"3\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -2499,13 +2502,13 @@ static void Grp_PutFormToCreateGroupType (void)
/***** Name of group type *****/
HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME,
- Gbl.Crs.Grps.GrpTyp.GrpTypName,false,
+ Gbl.Crs.Grps.GrpTyp.GrpTypName,HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"12\" required=\"required\"");
HTM_TD_End ();
/***** Is it mandatory to register in any groups of this type? *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"MandatoryEnrolment\" style=\"width:150px;\"");
HTM_OPTION (HTM_Type_STRING,"N",
!Gbl.Crs.Grps.GrpTyp.MandatoryEnrolment,false,
@@ -2518,7 +2521,7 @@ static void Grp_PutFormToCreateGroupType (void)
/***** Is it possible to register in multiple groups of this type? *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"MultipleEnrolment\" style=\"width:150px;\"");
HTM_OPTION (HTM_Type_STRING,"N",
!Gbl.Crs.Grps.GrpTyp.MultipleEnrolment,false,
@@ -2620,7 +2623,7 @@ static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
/***** Group type *****/
/* Start selector */
HTM_TD_Begin ("class=\"CM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"GrpTypCod\" style=\"width:100px;\"");
/* Options for group types */
@@ -2638,14 +2641,15 @@ static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
/***** Group name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("GrpName",Grp_MAX_CHARS_GROUP_NAME,Gbl.Crs.Grps.GrpName,false,
+ HTM_INPUT_TEXT ("GrpName",Grp_MAX_CHARS_GROUP_NAME,Gbl.Crs.Grps.GrpName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"20\" required=\"required\"");
HTM_TD_End ();
/***** Room *****/
/* Start selector */
HTM_TD_Begin ("class=\"CM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"RooCod\" style=\"width:100px;\"");
/* Option for no assigned room */
@@ -2681,7 +2685,8 @@ static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
/***** Maximum number of students *****/
HTM_TD_Begin ("class=\"CM\"");
Grp_WriteMaxStds (StrMaxStudents,Gbl.Crs.Grps.MaxStudents);
- HTM_INPUT_TEXT ("MaxStudents",Cns_MAX_DECIMAL_DIGITS_UINT,StrMaxStudents,false,
+ HTM_INPUT_TEXT ("MaxStudents",Cns_MAX_DECIMAL_DIGITS_UINT,StrMaxStudents,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"3\"");
HTM_TD_End ();
diff --git a/swad_hierarchy_config.c b/swad_hierarchy_config.c
index 4f7feed8..0f4635a0 100644
--- a/swad_hierarchy_config.c
+++ b/swad_hierarchy_config.c
@@ -99,7 +99,8 @@ void HieCfg_FullName (bool PutForm,const char *Label,Act_Action_t NextAction,
{
/* Form to change full name */
Frm_StartForm (NextAction);
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,FullName,true,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,FullName,
+ HTM_SUBMIT_ON_CHANGE,
"id=\"FullName\" class=\"INPUT_FULL_NAME\""
" required=\"required\"");
Frm_EndForm ();
@@ -134,7 +135,8 @@ void HieCfg_ShrtName (bool PutForm,Act_Action_t NextAction,
{
/* Form to change short name */
Frm_StartForm (NextAction);
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"id=\"ShortName\" class=\"INPUT_SHORT_NAME\""
" required=\"required\"");
Frm_EndForm ();
@@ -169,7 +171,7 @@ void HieCfg_WWW (bool PrintView,bool PutForm,Act_Action_t NextAction,
{
/* Form to change web */
Frm_StartForm (NextAction);
- HTM_INPUT_URL ("WWW",WWW,true,
+ HTM_INPUT_URL ("WWW",WWW,HTM_SUBMIT_ON_CHANGE,
"id=\"WWW\" class=\"INPUT_WWW_WIDE\" required=\"required\"");
Frm_EndForm ();
}
diff --git a/swad_holiday.c b/swad_holiday.c
index e7227fbb..5687a3a4 100644
--- a/swad_holiday.c
+++ b/swad_holiday.c
@@ -617,7 +617,7 @@ static void Hld_ListHolidaysForEdition (const struct Hld_Holidays *Holidays,
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgHldPlc);
Hld_PutParamHldCod (Hld->HldCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"PlcCod\" class=\"PLC_SEL\"");
HTM_OPTION (HTM_Type_STRING,"-1",Hld->PlcCod <= 0,false,
"%s",Txt_All_places);
@@ -635,7 +635,7 @@ static void Hld_ListHolidaysForEdition (const struct Hld_Holidays *Holidays,
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgHldTyp);
Hld_PutParamHldCod (Hld->HldCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"HldTyp\" style=\"width:62px;\"");
for (HolidayType = (Hld_HolidayType_t) 0;
HolidayType <= (Hld_HolidayType_t) (Hld_NUM_TYPES_HOLIDAY - 1);
@@ -678,7 +678,8 @@ static void Hld_ListHolidaysForEdition (const struct Hld_Holidays *Holidays,
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenHld);
Hld_PutParamHldCod (Hld->HldCod);
- HTM_INPUT_TEXT ("Name",Hld_MAX_CHARS_HOLIDAY_NAME,Hld->Name,true,
+ HTM_INPUT_TEXT ("Name",Hld_MAX_CHARS_HOLIDAY_NAME,Hld->Name,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"20\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -1012,7 +1013,7 @@ static void Hld_PutFormToCreateHoliday (const struct Plc_Places *Places)
/***** Holiday place *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"PlcCod\" class=\"PLC_SEL\"");
HTM_OPTION (HTM_Type_STRING,"-1",Hld_EditingHld->PlcCod <= 0,false,
"%s",Txt_All_places);
@@ -1027,7 +1028,7 @@ static void Hld_PutFormToCreateHoliday (const struct Plc_Places *Places)
/***** Holiday type *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"HldTyp\" style=\"width:62px;\"");
for (HolidayType = (Hld_HolidayType_t) 0;
HolidayType <= (Hld_HolidayType_t) (Hld_NUM_TYPES_HOLIDAY - 1);
@@ -1061,7 +1062,8 @@ static void Hld_PutFormToCreateHoliday (const struct Plc_Places *Places)
/***** Holiday name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("Name",Hld_MAX_CHARS_HOLIDAY_NAME,Hld_EditingHld->Name,false,
+ HTM_INPUT_TEXT ("Name",Hld_MAX_CHARS_HOLIDAY_NAME,Hld_EditingHld->Name,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"20\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_indicator.c b/swad_indicator.c
index ab8f5f0b..0e044398 100644
--- a/swad_indicator.c
+++ b/swad_indicator.c
@@ -134,7 +134,7 @@ void Ind_ReqIndicatorsCourses (void)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- Sco_PutSelectorScope ("ScopeInd",true);
+ Sco_PutSelectorScope ("ScopeInd",HTM_SUBMIT_ON_CHANGE);
HTM_TD_End ();
HTM_TR_End ();
diff --git a/swad_info.c b/swad_info.c
index 377d3d27..a8032c02 100644
--- a/swad_info.c
+++ b/swad_info.c
@@ -1207,7 +1207,9 @@ void Inf_FormToSendPage (Inf_InfoSrc_t InfoSrc)
HTM_DIV_Begin ("class=\"CM\"");
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_File);
- HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,".htm,.html,.pdf,.zip",false,NULL);
+ HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,".htm,.html,.pdf,.zip",
+ HTM_DONT_SUBMIT_ON_CHANGE,
+ NULL);
HTM_LABEL_End ();
HTM_DIV_End ();
@@ -1250,7 +1252,7 @@ void Inf_FormToSendURL (Inf_InfoSrc_t InfoSrc)
HTM_DIV_Begin ("class=\"CM\"");
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_URL);
- HTM_INPUT_URL ("InfoSrcURL",Gbl.Crs.Info.URL,false,
+ HTM_INPUT_URL ("InfoSrcURL",Gbl.Crs.Info.URL,HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"50\"");
HTM_LABEL_End ();
HTM_DIV_End ();
diff --git a/swad_institution.c b/swad_institution.c
index db503765..baac9d1d 100644
--- a/swad_institution.c
+++ b/swad_institution.c
@@ -1018,10 +1018,10 @@ void Ins_WriteSelectorOfInstitution (void)
/***** Begin form *****/
Frm_StartFormGoTo (ActSeeCtr);
if (Gbl.Hierarchy.Cty.CtyCod > 0)
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"ins\" name=\"ins\" class=\"HIE_SEL\"");
else
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"ins\" name=\"ins\" class=\"HIE_SEL\""
" disabled=\"disabled\"");
HTM_OPTION (HTM_Type_STRING,"",
@@ -1142,7 +1142,8 @@ static void Ins_ListInstitutionsForEdition (void)
{
Frm_StartForm (ActRenInsSho);
Ins_PutParamOtherInsCod (Ins->InsCod);
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Ins->ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Ins->ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\"");
Frm_EndForm ();
}
@@ -1156,7 +1157,8 @@ static void Ins_ListInstitutionsForEdition (void)
{
Frm_StartForm (ActRenInsFul);
Ins_PutParamOtherInsCod (Ins->InsCod);
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Ins->FullName,true,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Ins->FullName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\"");
Frm_EndForm ();
}
@@ -1170,7 +1172,7 @@ static void Ins_ListInstitutionsForEdition (void)
{
Frm_StartForm (ActChgInsWWW);
Ins_PutParamOtherInsCod (Ins->InsCod);
- HTM_INPUT_URL ("WWW",Ins->WWW,true,
+ HTM_INPUT_URL ("WWW",Ins->WWW,HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
Frm_EndForm ();
}
@@ -1217,7 +1219,7 @@ static void Ins_ListInstitutionsForEdition (void)
{
Frm_StartForm (ActChgInsSta);
Ins_PutParamOtherInsCod (Ins->InsCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"Status\" class=\"INPUT_STATUS\"");
StatusUnsigned = (unsigned) Ins_GetStatusBitsFromStatusTxt (Ins_STATUS_PENDING);
HTM_OPTION (HTM_Type_UNSIGNED,&StatusUnsigned,true,false,
@@ -1737,19 +1739,21 @@ static void Ins_PutFormToCreateInstitution (void)
/***** Institution short name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Ins_EditingIns->ShrtName,false,
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Ins_EditingIns->ShrtName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Institution full name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Ins_EditingIns->FullName,false,
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Ins_EditingIns->FullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Institution WWW *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_URL ("WWW",Ins_EditingIns->WWW,false,
+ HTM_INPUT_URL ("WWW",Ins_EditingIns->WWW,HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_institution_config.c b/swad_institution_config.c
index c7008b37..7d96eff4 100644
--- a/swad_institution_config.c
+++ b/swad_institution_config.c
@@ -368,7 +368,7 @@ static void InsCfg_Country (bool PrintView,bool PutForm)
/* Put form to select country */
Frm_StartForm (ActChgInsCtyCfg);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"OthCtyCod\" name=\"OthCtyCod\""
" class=\"INPUT_SHORT_NAME\"");
for (NumCty = 0;
diff --git a/swad_language.c b/swad_language.c
index 4036795d..2ed30217 100644
--- a/swad_language.c
+++ b/swad_language.c
@@ -119,7 +119,7 @@ void Lan_PutSelectorToSelectLanguage (void)
unsigned LanUnsigned;
Frm_StartForm (ActReqChgLan);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"Lan\" style=\"width:112px; margin:0;\"");
for (Lan = (Lan_Language_t) 1;
Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES;
diff --git a/swad_link.c b/swad_link.c
index 1153e061..9b004430 100644
--- a/swad_link.c
+++ b/swad_link.c
@@ -443,7 +443,8 @@ static void Lnk_ListLinksForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenLnkSho);
Lnk_PutParamLnkCod (Lnk->LnkCod);
- HTM_INPUT_TEXT ("ShortName",Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk->ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk->ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\" required=\"required\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -452,7 +453,8 @@ static void Lnk_ListLinksForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenLnkFul);
Lnk_PutParamLnkCod (Lnk->LnkCod);
- HTM_INPUT_TEXT ("FullName",Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk->FullName,true,
+ HTM_INPUT_TEXT ("FullName",Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk->FullName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\" required=\"required\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -461,7 +463,7 @@ static void Lnk_ListLinksForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgLnkWWW);
Lnk_PutParamLnkCod (Lnk->LnkCod);
- HTM_INPUT_URL ("WWW",Lnk->WWW,true,
+ HTM_INPUT_URL ("WWW",Lnk->WWW,HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -742,19 +744,21 @@ static void Lnk_PutFormToCreateLink (void)
/***** Link short name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("ShortName",Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk_EditingLnk->ShrtName,false,
+ HTM_INPUT_TEXT ("ShortName",Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk_EditingLnk->ShrtName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Link full name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("FullName",Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk_EditingLnk->FullName,false,
+ HTM_INPUT_TEXT ("FullName",Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk_EditingLnk->FullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Link WWW *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_URL ("WWW",Lnk_EditingLnk->WWW,false,
+ HTM_INPUT_URL ("WWW",Lnk_EditingLnk->WWW,HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_logo.c b/swad_logo.c
index b70661f7..a6be4583 100644
--- a/swad_logo.c
+++ b/swad_logo.c
@@ -315,7 +315,9 @@ void Lgo_RequestLogo (Hie_Level_t Scope)
/***** Upload logo *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_File_with_the_logo);
- HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,"image/png",true,NULL);
+ HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,"image/png",
+ HTM_SUBMIT_ON_CHANGE,
+ NULL);
HTM_LABEL_End ();
/***** End form *****/
diff --git a/swad_mail.c b/swad_mail.c
index 4e6ae66a..aa63a8ae 100644
--- a/swad_mail.c
+++ b/swad_mail.c
@@ -513,7 +513,8 @@ static void Mai_ListMailDomainsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenMaiSho);
Mai_PutParamMaiCod (Mai->MaiCod);
- HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai->Domain,true,
+ HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai->Domain,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"15\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -522,7 +523,8 @@ static void Mai_ListMailDomainsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenMaiFul);
Mai_PutParamMaiCod (Mai->MaiCod);
- HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai->Info,true,
+ HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai->Info,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"40\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -764,13 +766,15 @@ static void Mai_PutFormToCreateMailDomain (void)
/***** Mail domain *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai_EditingMai->Domain,false,
+ HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai_EditingMai->Domain,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"15\" required=\"required\"");
HTM_TD_End ();
/***** Mail domain info *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai_EditingMai->Info,false,
+ HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai_EditingMai->Info,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"40\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_mark.c b/swad_mark.c
index da7abaf7..e89b503c 100644
--- a/swad_mark.c
+++ b/swad_mark.c
@@ -133,7 +133,8 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
snprintf (StrHeadOrFoot,sizeof (StrHeadOrFoot),
"%u",
Marks.Header);
- HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_HEADER],Cns_MAX_DECIMAL_DIGITS_UINT,StrHeadOrFoot,true,
+ HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_HEADER],Cns_MAX_DECIMAL_DIGITS_UINT,StrHeadOrFoot,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"1\" class=\"LST_EDIT_ROWS COLOR%u\"",
Gbl.RowEvenOdd);
HTM_LABEL_End ();
@@ -152,7 +153,8 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
snprintf (StrHeadOrFoot,sizeof (StrHeadOrFoot),
"%u",
Marks.Footer);
- HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_FOOTER],Cns_MAX_DECIMAL_DIGITS_UINT,StrHeadOrFoot,true,
+ HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_FOOTER],Cns_MAX_DECIMAL_DIGITS_UINT,StrHeadOrFoot,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"1\" class=\"LST_EDIT_ROWS COLOR%u\"",
Gbl.RowEvenOdd);
HTM_LABEL_End ();
diff --git a/swad_match.c b/swad_match.c
index f8295b09..4ff13f5a 100644
--- a/swad_match.c
+++ b/swad_match.c
@@ -1352,7 +1352,8 @@ static void Mch_PutFormNewMatch (const struct Gam_Game *Game)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_TEXT ("Title",Gam_MAX_CHARS_TITLE,Game->Title,false,
+ HTM_INPUT_TEXT ("Title",Gam_MAX_CHARS_TITLE,Game->Title,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" size=\"45\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_media.c b/swad_media.c
index 8eca0efd..553f2856 100644
--- a/swad_media.c
+++ b/swad_media.c
@@ -432,7 +432,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
/***** Media file *****/
HTM_DIV_Begin (NULL);
- HTM_INPUT_FILE (ParamUploadMedia.File,"image/,video/",false, // _fil
+ HTM_INPUT_FILE (ParamUploadMedia.File,"image/,video/", // _fil
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%s_fil\" class=\"%s\""
" disabled=\"disabled\" style=\"display:none;\"",
Id,ClassInput);
@@ -440,7 +441,7 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
/***** Media URL *****/
HTM_DIV_Begin (NULL);
- HTM_INPUT_URL (ParamUploadMedia.URL,"",false, // _url
+ HTM_INPUT_URL (ParamUploadMedia.URL,"",HTM_DONT_SUBMIT_ON_CHANGE,// _url
"id=\"%s_url\" class=\"%s\""
" placeholder=\"%s\" maxlength=\"%u\""
" disabled=\"disabled\" style=\"display:none;\"",
@@ -449,7 +450,8 @@ void Med_PutMediaUploader (int NumMediaInForm,const char *ClassInput)
/***** Media title *****/
HTM_DIV_Begin (NULL);
- HTM_INPUT_TEXT (ParamUploadMedia.Title,Med_MAX_CHARS_TITLE,"",false, // _tit
+ HTM_INPUT_TEXT (ParamUploadMedia.Title,Med_MAX_CHARS_TITLE,"",// _tit
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%s_tit\" class=\"%s\""
" placeholder=\"%s\""
" disabled=\"disabled\" style=\"display:none;\"",
diff --git a/swad_message.c b/swad_message.c
index 91b3b109..54066b11 100644
--- a/swad_message.c
+++ b/swad_message.c
@@ -2761,7 +2761,7 @@ static void Msg_ShowFormSelectCourseSentOrRecMsgs (const struct Msg_Messages *Me
/***** Course selection *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s ",TxtSelector[Messages->TypeOfMessages]);
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"FilterCrsCod\"");
HTM_OPTION (HTM_Type_STRING,"",
Messages->FilterCrsCod < 0,false,
diff --git a/swad_network.c b/swad_network.c
index 178af946..c49224a8 100644
--- a/swad_network.c
+++ b/swad_network.c
@@ -338,7 +338,7 @@ void Net_ShowFormMyWebsAndSocialNets (void)
HTM_TD_End ();
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
- HTM_INPUT_URL (StrName,URL,false,
+ HTM_INPUT_URL (StrName,URL,HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%s\" class=\"REC_C2_BOT_INPUT\"",StrName);
HTM_TD_End ();
diff --git a/swad_nickname.c b/swad_nickname.c
index 2f7ee171..4e655eae 100644
--- a/swad_nickname.c
+++ b/swad_nickname.c
@@ -404,7 +404,7 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
"@%s",
Gbl.Usrs.Me.UsrDat.Nickname);
HTM_INPUT_TEXT ("NewNick",1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA,
- NicknameWithArroba,false,
+ NicknameWithArroba,HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"NewNick\" size=\"18\"");
HTM_BR ();
Btn_PutCreateButtonInline (NumNicks ? Txt_Change_nickname : // I already have a nickname
diff --git a/swad_password.c b/swad_password.c
index 1772b175..5b996c95 100644
--- a/swad_password.c
+++ b/swad_password.c
@@ -286,7 +286,8 @@ void Pwd_ShowFormSendNewPwd (void)
/***** User's ID/nickname *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_nick_email_or_ID);
- HTM_INPUT_TEXT ("UsrId",Cns_MAX_CHARS_EMAIL_ADDRESS,Gbl.Usrs.Me.UsrIdLogin,false,
+ HTM_INPUT_TEXT ("UsrId",Cns_MAX_CHARS_EMAIL_ADDRESS,Gbl.Usrs.Me.UsrIdLogin,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"8\" required=\"required\"");
HTM_LABEL_End ();
diff --git a/swad_photo.c b/swad_photo.c
index b9542a1d..e0bc98cf 100644
--- a/swad_photo.c
+++ b/swad_photo.c
@@ -349,7 +349,8 @@ static void Pho_ReqPhoto (const struct UsrData *UsrDat)
/***** Form to upload photo *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_File_with_the_photo);
- HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,"image/*",true,NULL);
+ HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,"image/*",
+ HTM_SUBMIT_ON_CHANGE,NULL);
HTM_LABEL_End ();
/***** End form *****/
@@ -1814,7 +1815,7 @@ static void Pho_PutSelectorForTypeOfAvg (const struct Pho_DegPhotos *DegPhotos)
Pho_PutHiddenParamPhotoSize (DegPhotos->HowComputePhotoSize);
Pho_PutHiddenParamOrderDegrees (DegPhotos->HowOrderDegrees);
Usr_PutParamsPrefsAboutUsrList ();
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"AvgType\" name=\"AvgType\"");
for (TypeOfAvg = (Pho_AvgPhotoTypeOfAverage_t) 0;
TypeOfAvg <= (Pho_AvgPhotoTypeOfAverage_t) (Pho_NUM_AVERAGE_PHOTO_TYPES - 1);
@@ -1878,7 +1879,7 @@ static void Pho_PutSelectorForHowComputePhotoSize (const struct Pho_DegPhotos *D
Pho_PutHiddenParamTypeOfAvg (DegPhotos->TypeOfAverage);
Pho_PutHiddenParamOrderDegrees (DegPhotos->HowOrderDegrees);
Usr_PutParamsPrefsAboutUsrList ();
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"PhotoSize\" name=\"PhotoSize\"");
for (PhoSi = (Pho_HowComputePhotoSize_t) 0;
PhoSi <= (Pho_HowComputePhotoSize_t) (Pho_NUM_HOW_COMPUTE_PHOTO_SIZES - 1);
@@ -1942,7 +1943,7 @@ static void Pho_PutSelectorForHowOrderDegrees (const struct Pho_DegPhotos *DegPh
Pho_PutHiddenParamTypeOfAvg (DegPhotos->TypeOfAverage);
Pho_PutHiddenParamPhotoSize (DegPhotos->HowComputePhotoSize);
Usr_PutParamsPrefsAboutUsrList ();
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"Order\" name=\"Order\"");
for (Order = (Pho_HowOrderDegrees_t) 0;
Order <= (Pho_HowOrderDegrees_t) (Pho_NUM_HOW_ORDER_DEGREES - 1);
@@ -2042,7 +2043,7 @@ static void Pho_PutLinkToCalculateDegreeStats (const struct Pho_DegPhotos *DegPh
HTM_BUTTON_End ();
/* Selector with all the degrees with students */
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"OthDegCod\"");
for (NumDeg = 0;
NumDeg < Degs.Num;
diff --git a/swad_place.c b/swad_place.c
index 93881770..f5ea67ab 100644
--- a/swad_place.c
+++ b/swad_place.c
@@ -573,7 +573,8 @@ static void Plc_ListPlacesForEdition (const struct Plc_Places *Places)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenPlcSho);
Plc_PutParamPlcCod (Plc->PlcCod);
- HTM_INPUT_TEXT ("ShortName",Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc->ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc->ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -582,7 +583,8 @@ static void Plc_ListPlacesForEdition (const struct Plc_Places *Places)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenPlcFul);
Plc_PutParamPlcCod (Plc->PlcCod);
- HTM_INPUT_TEXT ("FullName",Plc_MAX_CHARS_PLACE_FULL_NAME,Plc->FullName,true,
+ HTM_INPUT_TEXT ("FullName",Plc_MAX_CHARS_PLACE_FULL_NAME,Plc->FullName,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -835,13 +837,15 @@ static void Plc_PutFormToCreatePlace (void)
/***** Place short name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("ShortName",Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc_EditingPlc->ShrtName,false,
+ HTM_INPUT_TEXT ("ShortName",Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc_EditingPlc->ShrtName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Place full name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("FullName",Plc_MAX_CHARS_PLACE_FULL_NAME,Plc_EditingPlc->FullName,false,
+ HTM_INPUT_TEXT ("FullName",Plc_MAX_CHARS_PLACE_FULL_NAME,Plc_EditingPlc->FullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_plugin.c b/swad_plugin.c
index c80381a2..735b6cbf 100644
--- a/swad_plugin.c
+++ b/swad_plugin.c
@@ -427,7 +427,8 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenPlg);
Plg_PutParamPlgCod (Plg->PlgCod);
- HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg->Name,true,
+ HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg->Name,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"10\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -436,7 +437,8 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgPlgDes);
Plg_PutParamPlgCod (Plg->PlgCod);
- HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg->Description,true,
+ HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg->Description,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"30\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -445,7 +447,8 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgPlgLog);
Plg_PutParamPlgCod (Plg->PlgCod);
- HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg->Logo,true,
+ HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg->Logo,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"4\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -454,7 +457,8 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgPlgAppKey);
Plg_PutParamPlgCod (Plg->PlgCod);
- HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg->AppKey,true,
+ HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg->AppKey,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"16\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -463,7 +467,7 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgPlgURL);
Plg_PutParamPlgCod (Plg->PlgCod);
- HTM_INPUT_URL ("URL",Plg->URL,true,
+ HTM_INPUT_URL ("URL",Plg->URL,HTM_SUBMIT_ON_CHANGE,
"size=\"15\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -472,7 +476,7 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgPlgIP);
Plg_PutParamPlgCod (Plg->PlgCod);
- HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg->IP,true,
+ HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg->IP,HTM_SUBMIT_ON_CHANGE,
"size=\"10\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -886,38 +890,43 @@ static void Plg_PutFormToCreatePlugin (void)
/***** Plugin name *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg_EditingPlg->Name,false,
+ HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg_EditingPlg->Name,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"10\" required=\"required\"");
HTM_TD_End ();
/***** Plugin description *****/
HTM_TD_Begin ("class=\"CM\"");
HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,
- Plg_EditingPlg->Description,false,
+ Plg_EditingPlg->Description,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"30\" required=\"required\"");
HTM_TD_End ();
/***** Plugin logo *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg_EditingPlg->Logo,false,
+ HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg_EditingPlg->Logo,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"4\" required=\"required\"");
HTM_TD_End ();
/***** Plugin application key *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg_EditingPlg->AppKey,false,
+ HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg_EditingPlg->AppKey,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"16\" required=\"required\"");
HTM_TD_End ();
/***** Plugin URL *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_URL ("URL",Plg_EditingPlg->URL,false,
+ HTM_INPUT_URL ("URL",Plg_EditingPlg->URL,HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"15\" required=\"required\"");
HTM_TD_End ();
/***** Plugin IP address *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg_EditingPlg->IP,false,
+ HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg_EditingPlg->IP,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"10\" required=\"required\"");
HTM_TD_End ();
diff --git a/swad_profile.c b/swad_profile.c
index 320e79e1..88422999 100644
--- a/swad_profile.c
+++ b/swad_profile.c
@@ -219,7 +219,8 @@ void Prf_RequestUserProfile (void)
snprintf (NicknameWithArroba,sizeof (NicknameWithArroba),
"@%s",
Gbl.Usrs.Me.UsrDat.Nickname);
- HTM_INPUT_TEXT ("usr",Nck_MAX_BYTES_NICKNAME_FROM_FORM,NicknameWithArroba,false,
+ HTM_INPUT_TEXT ("usr",Nck_MAX_BYTES_NICKNAME_FROM_FORM,NicknameWithArroba,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"18\"");
HTM_LABEL_End ();
diff --git a/swad_program.c b/swad_program.c
index 6963e618..dabeba59 100644
--- a/swad_program.c
+++ b/swad_program.c
@@ -1913,7 +1913,8 @@ static void Prg_ShowFormItem (const struct ProgramItem *Item,
/* Data */
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("Title",Prg_MAX_CHARS_PROGRAM_ITEM_TITLE,Item->Title,false,
+ HTM_INPUT_TEXT ("Title",Prg_MAX_CHARS_PROGRAM_ITEM_TITLE,Item->Title,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" required=\"required\""
" class=\"PRG_TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
diff --git a/swad_project.c b/swad_project.c
index 90d210d6..f5a4d30e 100644
--- a/swad_project.c
+++ b/swad_project.c
@@ -3667,7 +3667,8 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_TEXT ("Title",Prj_MAX_CHARS_PROJECT_TITLE,Prj->Title,false,
+ HTM_INPUT_TEXT ("Title",Prj_MAX_CHARS_PROJECT_TITLE,Prj->Title,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
@@ -3700,7 +3701,7 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
HTM_TD_End ();
HTM_TD_Begin ("class=\"LM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"Assigned\"");
HTM_OPTION (HTM_Type_STRING,"Y",Prj->Assigned == Prj_ASSIGNED,false,
"%s",Txt_Yes);
@@ -3719,7 +3720,8 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
HTM_TD_End ();
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_LONG ("NumStds",(long) 0,(long) UINT_MAX,(long) Prj->NumStds,false,
+ HTM_INPUT_LONG ("NumStds",(long) 0,(long) UINT_MAX,(long) Prj->NumStds,
+ HTM_DONT_SUBMIT_ON_CHANGE,false,
NULL);
HTM_TD_End ();
@@ -3733,7 +3735,7 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
HTM_TD_End ();
HTM_TD_Begin ("class=\"LM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"Proposal\" class=\"TITLE_DESCRIPTION_WIDTH\"");
for (Proposal = (Prj_Proposal_t) 0;
Proposal <= (Prj_Proposal_t) (Prj_NUM_PROPOSAL_TYPES - 1);
@@ -3772,7 +3774,7 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
/* Data */
HTM_TD_Begin ("class=\"DAT LT\"");
- HTM_INPUT_URL ("URL",Prj->URL,false,
+ HTM_INPUT_URL ("URL",Prj->URL,HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
diff --git a/swad_record.c b/swad_record.c
index 4de4d8ae..e76d693c 100644
--- a/swad_record.c
+++ b/swad_record.c
@@ -284,7 +284,8 @@ void Rec_ListFieldsRecordsForEdition (void)
Frm_StartForm (ActRenFie);
Par_PutHiddenParamLong (NULL,"FieldCod",Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod);
HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD,
- Gbl.Crs.Records.LstFields.Lst[NumField].Name,true,
+ Gbl.Crs.Records.LstFields.Lst[NumField].Name,
+ HTM_SUBMIT_ON_CHANGE,
"class=\"REC_FIELDNAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -296,7 +297,8 @@ void Rec_ListFieldsRecordsForEdition (void)
snprintf (StrNumLines,sizeof (StrNumLines),
"%u",
Gbl.Crs.Records.LstFields.Lst[NumField].NumLines);
- HTM_INPUT_TEXT ("NumLines",Cns_MAX_DECIMAL_DIGITS_UINT,StrNumLines,true,
+ HTM_INPUT_TEXT ("NumLines",Cns_MAX_DECIMAL_DIGITS_UINT,StrNumLines,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"2\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -305,7 +307,7 @@ void Rec_ListFieldsRecordsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgVisFie);
Par_PutHiddenParamLong (NULL,"FieldCod",Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"Visibility\"");
for (Vis = (Rec_VisibilityRecordFields_t) 0;
Vis <= (Rec_VisibilityRecordFields_t) (Rec_NUM_TYPES_VISIBILITY - 1);
@@ -356,7 +358,8 @@ void Rec_ShowFormCreateRecordField (void)
/***** Field name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD,Gbl.Crs.Records.Field.Name,false,
+ HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD,Gbl.Crs.Records.Field.Name,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"REC_FIELDNAME\" required=\"required\"");
HTM_TD_End ();
@@ -365,13 +368,14 @@ void Rec_ShowFormCreateRecordField (void)
snprintf (StrNumLines,sizeof (StrNumLines),
"%u",
Gbl.Crs.Records.Field.NumLines);
- HTM_INPUT_TEXT ("NumLines",Cns_MAX_DECIMAL_DIGITS_UINT,StrNumLines,false,
+ HTM_INPUT_TEXT ("NumLines",Cns_MAX_DECIMAL_DIGITS_UINT,StrNumLines,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"2\" required=\"required\"");
HTM_TD_End ();
/***** Visibility to students *****/
HTM_TD_Begin ("class=\"CM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"Visibility\"");
for (Vis = (Rec_VisibilityRecordFields_t) 0;
Vis <= (Rec_VisibilityRecordFields_t) (Rec_NUM_TYPES_VISIBILITY - 1);
@@ -1473,7 +1477,7 @@ static void Rec_ShowLinkToPrintPreviewOfRecords (void)
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_Txt ("(");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"RecsPerPag\"");
for (i = Rec_MIN_RECORDS_PER_PAGE;
i <= Rec_MAX_RECORDS_PER_PAGE;
@@ -2909,7 +2913,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
DefaultRoleInForm = Rol_STD; // Request sign up as a student
/***** Selector of role *****/
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Role\" name=\"Role\"");
for (Role = Rol_STD;
Role <= Rol_TCH;
@@ -2970,7 +2974,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
}
/***** Selector of role *****/
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Role\" name=\"Role\"");
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -3011,7 +3015,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
Rol_GST; // If user don't belong to any course
/***** Selector of role *****/
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Role\" name=\"Role\"");
RoleUnsigned = (unsigned) DefaultRoleInForm;
HTM_OPTION (HTM_Type_UNSIGNED,&RoleUnsigned,true,true,
@@ -3046,7 +3050,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
}
/***** Selector of role *****/
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Role\" name=\"Role\"");
for (Role = Rol_STD;
Role <= Rol_TCH;
@@ -3067,7 +3071,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
{
case Rol_SYS_ADM:
/***** Selector of role *****/
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Role\" name=\"Role\"");
RoleUnsigned = (unsigned) Rol_GST;
HTM_OPTION (HTM_Type_UNSIGNED,&RoleUnsigned,
@@ -3146,7 +3150,8 @@ static void Rec_ShowSurname1 (struct UsrData *UsrDat,bool PutForm)
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT DAT_N LM\"");
if (PutForm)
- HTM_INPUT_TEXT ("Surname1",Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME,UsrDat->Surname1,false,
+ HTM_INPUT_TEXT ("Surname1",Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME,UsrDat->Surname1,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Surname1\" class=\"REC_C2_BOT_INPUT\""
" required=\"required\"");
else if (UsrDat->Surname1[0])
@@ -3179,7 +3184,8 @@ static void Rec_ShowSurname2 (struct UsrData *UsrDat,bool PutForm)
HTM_TD_Begin ("class=\"REC_C2_BOT DAT_N LM\"");
if (PutForm)
HTM_INPUT_TEXT ("Surname2",Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME,
- UsrDat->Surname2,false,
+ UsrDat->Surname2,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Surname2\" class=\"REC_C2_BOT_INPUT\"");
else if (UsrDat->Surname2[0])
{
@@ -3216,7 +3222,8 @@ static void Rec_ShowFirstName (struct UsrData *UsrDat,bool PutForm)
HTM_TD_Begin ("colspan=\"2\" class=\"REC_C2_BOT DAT_N LM\"");
if (PutForm)
HTM_INPUT_TEXT ("FirstName",Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME,
- UsrDat->FirstName,false,
+ UsrDat->FirstName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"FirstName\" class=\"REC_C2_BOT_INPUT\""
" required=\"required\"");
else if (UsrDat->FirstName[0])
@@ -3259,7 +3266,7 @@ static void Rec_ShowCountry (struct UsrData *UsrDat,bool PutForm)
/* Data */
HTM_TD_Begin ("colspan=\"2\" class=\"REC_C2_BOT LM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"OthCtyCod\" name=\"OthCtyCod\""
" class=\"REC_C2_BOT_INPUT\" required=\"required\"");
HTM_OPTION (HTM_Type_STRING,"",false,false,
@@ -3300,7 +3307,8 @@ static void Rec_ShowOriginPlace (struct UsrData *UsrDat,bool ShowData,bool PutFo
{
if (PutForm)
HTM_INPUT_TEXT ("OriginPlace",Usr_MAX_CHARS_ADDRESS,
- UsrDat->OriginPlace,false,
+ UsrDat->OriginPlace,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"OriginPlace\" class=\"REC_C2_BOT_INPUT\"");
else if (UsrDat->OriginPlace[0])
HTM_Txt (UsrDat->OriginPlace);
@@ -3366,7 +3374,8 @@ static void Rec_ShowLocalAddress (struct UsrData *UsrDat,bool ShowData,bool PutF
{
if (PutForm)
HTM_INPUT_TEXT ("LocalAddress",Usr_MAX_CHARS_ADDRESS,
- UsrDat->LocalAddress,false,
+ UsrDat->LocalAddress,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"LocalAddress\" class=\"REC_C2_BOT_INPUT\"");
else if (UsrDat->LocalAddress[0])
HTM_Txt (UsrDat->LocalAddress);
@@ -3397,7 +3406,8 @@ static void Rec_ShowLocalPhone (struct UsrData *UsrDat,bool ShowData,bool PutFor
if (ShowData)
{
if (PutForm)
- HTM_INPUT_TEL ("LocalPhone",UsrDat->LocalPhone,false,
+ HTM_INPUT_TEL ("LocalPhone",UsrDat->LocalPhone,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"LocalPhone\" class=\"REC_C2_BOT_INPUT\"");
else if (UsrDat->LocalPhone[0])
{
@@ -3433,7 +3443,8 @@ static void Rec_ShowFamilyAddress (struct UsrData *UsrDat,bool ShowData,bool Put
{
if (PutForm)
HTM_INPUT_TEXT ("FamilyAddress",Usr_MAX_CHARS_ADDRESS,
- UsrDat->FamilyAddress,false,
+ UsrDat->FamilyAddress,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"FamilyAddress\" class=\"REC_C2_BOT_INPUT\"");
else if (UsrDat->FamilyAddress[0])
HTM_Txt (UsrDat->FamilyAddress);
@@ -3464,7 +3475,8 @@ static void Rec_ShowFamilyPhone (struct UsrData *UsrDat,bool ShowData,bool PutFo
if (ShowData)
{
if (PutForm)
- HTM_INPUT_TEL ("FamilyPhone",UsrDat->FamilyPhone,false,
+ HTM_INPUT_TEL ("FamilyPhone",UsrDat->FamilyPhone,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"FamilyPhone\" class=\"REC_C2_BOT_INPUT\"");
else if (UsrDat->FamilyPhone[0])
{
@@ -3981,7 +3993,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/* Begin form to select the country of my institution */
Frm_StartFormAnchor (ActChgCtyMyIns,Rec_MY_INS_CTR_DPT_ID);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"InsCtyCod\" name=\"OthCtyCod\""
" class=\"REC_C2_BOT_INPUT\"");
HTM_OPTION (HTM_Type_STRING,"-1",
@@ -4017,7 +4029,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/* Begin form to select institution */
Frm_StartFormAnchor (ActChgMyIns,Rec_MY_INS_CTR_DPT_ID);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"OthInsCod\" name=\"OthInsCod\""
" class=\"REC_C2_BOT_INPUT\"");
HTM_OPTION (HTM_Type_STRING,"-1",
@@ -4058,7 +4070,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/* Begin form to select centre */
Frm_StartFormAnchor (ActChgMyCtr,Rec_MY_INS_CTR_DPT_ID);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"OthCtrCod\" name=\"OthCtrCod\""
" class=\"REC_C2_BOT_INPUT\"");
HTM_OPTION (HTM_Type_STRING,"-1",
@@ -4110,7 +4122,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
Frm_StartFormAnchor (ActChgMyOff,Rec_MY_INS_CTR_DPT_ID);
- HTM_INPUT_TEXT ("Office",Usr_MAX_CHARS_ADDRESS,Gbl.Usrs.Me.UsrDat.Tch.Office,true,
+ HTM_INPUT_TEXT ("Office",Usr_MAX_CHARS_ADDRESS,Gbl.Usrs.Me.UsrDat.Tch.Office,
+ HTM_SUBMIT_ON_CHANGE,
"id=\"Office\" class=\"REC_C2_BOT_INPUT\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -4126,7 +4139,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
Frm_StartFormAnchor (ActChgMyOffPho,Rec_MY_INS_CTR_DPT_ID);
- HTM_INPUT_TEL ("OfficePhone",Gbl.Usrs.Me.UsrDat.Tch.OfficePhone,true,
+ HTM_INPUT_TEL ("OfficePhone",Gbl.Usrs.Me.UsrDat.Tch.OfficePhone,
+ HTM_SUBMIT_ON_CHANGE,
"id=\"OfficePhone\" class=\"REC_C2_BOT_INPUT\"");
Frm_EndForm ();
HTM_TD_End ();
diff --git a/swad_role.c b/swad_role.c
index 01568678..3d39f4ab 100644
--- a/swad_role.c
+++ b/swad_role.c
@@ -480,10 +480,10 @@ void Rol_PutFormToChangeMyRole (const char *ClassSelect)
if (ClassSelect[0])
PutClassSelect = true;
if (PutClassSelect)
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"MyRole\" class=\"%s\"",ClassSelect);
else
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"MyRole\"");
for (Role = (Rol_Role_t) 1;
Role <= (Rol_Role_t) (Rol_NUM_ROLES - 1);
diff --git a/swad_room.c b/swad_room.c
index 3fb2e484..b8fcbf41 100644
--- a/swad_room.c
+++ b/swad_room.c
@@ -135,9 +135,9 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
const struct Roo_Rooms *Rooms);
static void Roo_PutSelectorBuilding (long BldCod,
const struct Bld_Buildings *Buildings,
- bool SubmitOnChange);
+ HTM_SubmitOnChange_t SubmitOnChange);
static void Roo_PutSelectorType (Roo_RoomType_t RoomType,
- bool SubmitOnChange);
+ HTM_SubmitOnChange_t SubmitOnChange);
static void Roo_PutParamRooCod (long RooCod);
static int Roo_GetParamFloor (void);
static Roo_RoomType_t Roo_GetParamType (void);
@@ -690,7 +690,7 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
Frm_StartFormAnchor (ActChgRooBld,Anchor);
Roo_PutParamRooCod (Room->RooCod);
Roo_PutSelectorBuilding (Room->BldCod,Buildings,
- true); // Submit on change
+ HTM_SUBMIT_ON_CHANGE);
Frm_EndForm ();
HTM_TD_End ();
@@ -698,7 +698,8 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
HTM_TD_Begin ("class=\"LM\"");
Frm_StartFormAnchor (ActChgRooFlo,Anchor);
Roo_PutParamRooCod (Room->RooCod);
- HTM_INPUT_LONG ("Floor",(long) INT_MIN,(long) INT_MAX,(long) Room->Floor,false,
+ HTM_INPUT_LONG ("Floor",(long) INT_MIN,(long) INT_MAX,(long) Room->Floor,
+ HTM_SUBMIT_ON_CHANGE,false,
"class=\"INPUT_LONG\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -708,7 +709,7 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
Frm_StartFormAnchor (ActChgRooTyp,Anchor);
Roo_PutParamRooCod (Room->RooCod);
Roo_PutSelectorType (Room->Type,
- true); // Submit on change
+ HTM_SUBMIT_ON_CHANGE);
Frm_EndForm ();
HTM_TD_End ();
@@ -716,7 +717,8 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
HTM_TD_Begin ("class=\"LM\"");
Frm_StartFormAnchor (ActRenRooSho,Anchor);
Roo_PutParamRooCod (Room->RooCod);
- HTM_INPUT_TEXT ("ShortName",Roo_MAX_CHARS_SHRT_NAME,Room->ShrtName,true,
+ HTM_INPUT_TEXT ("ShortName",Roo_MAX_CHARS_SHRT_NAME,Room->ShrtName,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"10\" class=\"INPUT_SHORT_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -725,7 +727,8 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
HTM_TD_Begin ("class=\"LM\"");
Frm_StartFormAnchor (ActRenRooFul,Anchor);
Roo_PutParamRooCod (Room->RooCod);
- HTM_INPUT_TEXT ("FullName",Roo_MAX_CHARS_FULL_NAME,Room->FullName,true,
+ HTM_INPUT_TEXT ("FullName",Roo_MAX_CHARS_FULL_NAME,Room->FullName,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"20\" class=\"INPUT_FULL_NAME\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -735,7 +738,8 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
Frm_StartFormAnchor (ActChgRooMaxUsr,Anchor);
Roo_PutParamRooCod (Room->RooCod);
Roo_WriteCapacity (StrCapacity,Room->Capacity);
- HTM_INPUT_TEXT ("Capacity",Cns_MAX_DECIMAL_DIGITS_UINT,StrCapacity,true,
+ HTM_INPUT_TEXT ("Capacity",Cns_MAX_DECIMAL_DIGITS_UINT,StrCapacity,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"3\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -753,7 +757,7 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
static void Roo_PutSelectorBuilding (long BldCod,
const struct Bld_Buildings *Buildings,
- bool SubmitOnChange)
+ HTM_SubmitOnChange_t SubmitOnChange)
{
extern const char *Txt_No_assigned_building;
extern const char *Txt_Another_building;
@@ -790,7 +794,7 @@ static void Roo_PutSelectorBuilding (long BldCod,
/*****************************************************************************/
static void Roo_PutSelectorType (Roo_RoomType_t RoomType,
- bool SubmitOnChange)
+ HTM_SubmitOnChange_t SubmitOnChange)
{
extern const char *Txt_ROOM_TYPES[Roo_NUM_TYPES];
Roo_RoomType_t Type;
@@ -1307,37 +1311,41 @@ static void Roo_PutFormToCreateRoom (const struct Bld_Buildings *Buildings)
/***** Building *****/
HTM_TD_Begin ("class=\"LM\"");
Roo_PutSelectorBuilding (Roo_EditingRoom->BldCod,Buildings,
- false); // Don't submit on change
+ HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End ();
/***** Floor *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_LONG ("Floor",(long) INT_MIN,(long) INT_MAX,(long) Roo_EditingRoom->Floor,false,
+ HTM_INPUT_LONG ("Floor",(long) INT_MIN,(long) INT_MAX,(long) Roo_EditingRoom->Floor,
+ HTM_DONT_SUBMIT_ON_CHANGE,false,
"class=\"INPUT_LONG\"");
HTM_TD_End ();
/***** Room type *****/
HTM_TD_Begin ("class=\"LM\"");
Roo_PutSelectorType (Roo_EditingRoom->Type,
- false); // Don't submit on change
+ HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End ();
/***** Room short name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("ShortName",Roo_MAX_CHARS_SHRT_NAME,Roo_EditingRoom->ShrtName,false,
+ HTM_INPUT_TEXT ("ShortName",Roo_MAX_CHARS_SHRT_NAME,Roo_EditingRoom->ShrtName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"10\" class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Room full name *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_INPUT_TEXT ("FullName",Roo_MAX_CHARS_FULL_NAME,Roo_EditingRoom->FullName,false,
+ HTM_INPUT_TEXT ("FullName",Roo_MAX_CHARS_FULL_NAME,Roo_EditingRoom->FullName,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"20\" class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Seating capacity *****/
HTM_TD_Begin ("class=\"LM\"");
Roo_WriteCapacity (StrCapacity,Roo_EditingRoom->Capacity);
- HTM_INPUT_TEXT ("Capacity",Cns_MAX_DECIMAL_DIGITS_UINT,StrCapacity,false,
+ HTM_INPUT_TEXT ("Capacity",Cns_MAX_DECIMAL_DIGITS_UINT,StrCapacity,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"3\"");
HTM_TD_End ();
diff --git a/swad_scope.c b/swad_scope.c
index ade05d92..914918ce 100644
--- a/swad_scope.c
+++ b/swad_scope.c
@@ -63,7 +63,7 @@ extern struct Globals Gbl;
/** Put a selector to choice between ranges when getting users for listing ***/
/*****************************************************************************/
-void Sco_PutSelectorScope (const char *ParamName,bool SendOnChange)
+void Sco_PutSelectorScope (const char *ParamName,HTM_SubmitOnChange_t SubmitOnChange)
{
extern const char *Txt_System;
extern const char *Txt_Country;
@@ -75,7 +75,7 @@ void Sco_PutSelectorScope (const char *ParamName,bool SendOnChange)
unsigned ScopeUnsigned;
bool WriteScope;
- HTM_SELECT_Begin (SendOnChange,
+ HTM_SELECT_Begin (SubmitOnChange,
"id=\"%s\" name=\"%s\"",ParamName,ParamName);
for (Scope = (Hie_Level_t) 0;
diff --git a/swad_scope.h b/swad_scope.h
index 0cbee881..20def292 100644
--- a/swad_scope.h
+++ b/swad_scope.h
@@ -30,6 +30,7 @@
#include // For boolean type
#include "swad_hierarchy.h"
+#include "swad_HTML.h"
/*****************************************************************************/
/***************************** Public constants ******************************/
@@ -43,7 +44,7 @@
/***************************** Public prototypes *****************************/
/*****************************************************************************/
-void Sco_PutSelectorScope (const char *ParamName,bool SendOnChange);
+void Sco_PutSelectorScope (const char *ParamName,HTM_SubmitOnChange_t SubmitOnChange);
void Sco_PutParamCurrentScope (void *Scope);
void Sco_PutParamScope (const char *ParamName,Hie_Level_t Scope);
void Sco_GetScope (const char *ParamName);
diff --git a/swad_search.c b/swad_search.c
index 67564179..f7c6ee9e 100644
--- a/swad_search.c
+++ b/swad_search.c
@@ -155,7 +155,7 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Act_Action_t Action,Hie
1 << Hie_CRS;
Gbl.Scope.Default = DefaultScope;
Sco_GetScope ("ScopeSch");
- Sco_PutSelectorScope ("ScopeSch",false);
+ Sco_PutSelectorScope ("ScopeSch",HTM_DONT_SUBMIT_ON_CHANGE);
HTM_LABEL_End ();
HTM_DIV_End ();
@@ -165,7 +165,7 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Act_Action_t Action,Hie
/***** What to search? *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF (" %s ",Txt_SEARCH_X_in_Y);
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"WhatToSearch\" class=\"WHAT_TO_SEARCH\"");
for (WhatToSearch = (Sch_WhatToSearch_t) 0;
WhatToSearch <= (Sch_WhatToSearch_t) (Sch_NUM_WHAT_TO_SEARCH - 1);
diff --git a/swad_statistic.c b/swad_statistic.c
index 2fed7261..e3970490 100644
--- a/swad_statistic.c
+++ b/swad_statistic.c
@@ -370,7 +370,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF (" %s ",Txt_distributed_by);
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"GroupedBy\" name=\"GroupedBy\"");
for (ClicksGroupedBy = Sta_CLICKS_CRS_PER_USR;
ClicksGroupedBy <= Sta_CLICKS_CRS_PER_ACTION;
@@ -404,7 +404,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
// To use getElementById in Firefox, it's necessary to have the id attribute
HTM_LABEL_Begin (NULL);
HTM_TxtF ("(%s: ",Txt_results_per_page);
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"RowsPage\" name=\"RowsPage\"%s",
Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? "" :
" disabled=\"disabled\"");
@@ -512,7 +512,7 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Role\" name=\"Role\" class=\"STAT_SEL\"");
for (RoleStat = (Sta_Role_t) 0;
RoleStat <= (Sta_Role_t) (Sta_NUM_ROLES_STAT - 1);
@@ -547,7 +547,7 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
1 << Hie_CRS;
Gbl.Scope.Default = Hie_SYS;
Sco_GetScope ("ScopeSta");
- Sco_PutSelectorScope ("ScopeSta",false);
+ Sco_PutSelectorScope ("ScopeSta",HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End ();
HTM_TR_End ();
@@ -570,7 +570,7 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
Stats->ClicksGroupedBy > Sta_CLICKS_GBL_PER_COURSE)
Stats->ClicksGroupedBy = Sta_CLICKS_GBL_PER_DAY;
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"GroupedBy\"");
for (ClicksGroupedBy = Sta_CLICKS_GBL_PER_DAY;
ClicksGroupedBy <= Sta_CLICKS_GBL_PER_COURSE;
@@ -649,7 +649,7 @@ static void Sta_WriteSelectorCountType (const struct Sta_Stats *Stats)
unsigned StatCountTypeUnsigned;
/**** Count type *****/
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"CountType\" name=\"CountType\"");
for (StatCountType = (Sta_CountType_t) 0;
StatCountType <= (Sta_CountType_t) (Sta_NUM_COUNT_TYPES - 1);
@@ -684,7 +684,7 @@ static void Sta_WriteSelectorAction (const struct Sta_Stats *Stats)
Frm_LabelColumn ("RT","StatAct",Txt_Action);
HTM_TD_Begin ("class=\"LT\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"StatAct\" name=\"StatAct\" class=\"STAT_SEL\"");
HTM_OPTION (HTM_Type_STRING,"0",Stats->NumAction == 0,false,
"%s",Txt_Any_action);
@@ -2053,7 +2053,7 @@ static void Sta_ShowDistrAccessesPerDayAndHour (const struct Sta_Stats *Stats,
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_Color_of_the_graphic);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"ColorType\"");
for (ColorType = (Sta_ColorType_t) 0;
ColorType <= (Sta_ColorType_t) (Sta_NUM_COLOR_TYPES - 1);
diff --git a/swad_survey.c b/swad_survey.c
index fbb3ccde..c995b227 100644
--- a/swad_survey.c
+++ b/swad_survey.c
@@ -1961,7 +1961,7 @@ void Svy_RequestCreatOrEditSvy (void)
HTM_TD_Begin ("class=\"LT\"");
Svy_SetDefaultAndAllowedScope (&Svy);
Sco_GetScope ("ScopeSvy");
- Sco_PutSelectorScope ("ScopeSvy",false);
+ Sco_PutSelectorScope ("ScopeSvy",HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End ();
HTM_TR_End ();
@@ -1974,7 +1974,8 @@ void Svy_RequestCreatOrEditSvy (void)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_TEXT ("Title",Svy_MAX_CHARS_SURVEY_TITLE,Svy.Title,false,
+ HTM_INPUT_TEXT ("Title",Svy_MAX_CHARS_SURVEY_TITLE,Svy.Title,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
diff --git a/swad_syllabus.c b/swad_syllabus.c
index 8d4dc1d4..afe1deee 100644
--- a/swad_syllabus.c
+++ b/swad_syllabus.c
@@ -872,7 +872,8 @@ static void Syl_PutFormItemSyllabus (struct Syl_Syllabus *Syllabus,
ActModIteSylPra));
Syllabus->ParamNumItem = NumItem;
Syl_PutParamNumItem (&Syllabus->ParamNumItem);
- HTM_INPUT_TEXT ("Txt",Syl_MAX_CHARS_TEXT_ITEM,Text,true,
+ HTM_INPUT_TEXT ("Txt",Syl_MAX_CHARS_TEXT_ITEM,Text,
+ HTM_SUBMIT_ON_CHANGE,
"size=\"60\" placeholder=\"%s\"%s",
Txt_Enter_a_new_item_here,
NewItem ? " autofocus=\"autofocus\"" :
diff --git a/swad_test.c b/swad_test.c
index 79ed6d38..6c40656d 100644
--- a/swad_test.c
+++ b/swad_test.c
@@ -408,6 +408,7 @@ static void Tst_ShowFormRequestTest (struct Tst_Test *Test)
(long) TstCfg_GetConfigMin (),
(long) TstCfg_GetConfigMax (),
(long) TstCfg_GetConfigDef (),
+ HTM_DONT_SUBMIT_ON_CHANGE,
TstCfg_GetConfigMin () == TstCfg_GetConfigMax (),
"id=\"NumQst\"");
HTM_TD_End ();
@@ -1890,7 +1891,8 @@ static void Tst_ShowFormEditTags (void)
HTM_TD_Begin ("class=\"LM\"");
Frm_StartForm (ActRenTag);
Par_PutHiddenParamString (NULL,"OldTagTxt",row[1]);
- HTM_INPUT_TEXT ("NewTagTxt",Tst_MAX_CHARS_TAG,row[1],true,
+ HTM_INPUT_TEXT ("NewTagTxt",Tst_MAX_CHARS_TAG,row[1],
+ HTM_SUBMIT_ON_CHANGE,
"size=\"36\" required=\"required\"");
Frm_EndForm ();
HTM_TD_End ();
@@ -2041,7 +2043,8 @@ static void Tst_ShowFormConfigTst (void)
snprintf (StrMinTimeNxtTstPerQst,sizeof (StrMinTimeNxtTstPerQst),
"%lu",
TstCfg_GetConfigMinTimeNxtTstPerQst ());
- HTM_INPUT_TEXT ("MinTimeNxtTstPerQst",Cns_MAX_DECIMAL_DIGITS_ULONG,StrMinTimeNxtTstPerQst,false,
+ HTM_INPUT_TEXT ("MinTimeNxtTstPerQst",Cns_MAX_DECIMAL_DIGITS_ULONG,StrMinTimeNxtTstPerQst,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"MinTimeNxtTstPerQst\" size=\"7\" required=\"required\"");
HTM_TD_End ();
@@ -2096,7 +2099,8 @@ static void Tst_PutInputFieldNumQst (const char *Field,const char *Label,
snprintf (StrValue,sizeof (StrValue),
"%u",
Value);
- HTM_INPUT_TEXT (Field,Cns_MAX_DECIMAL_DIGITS_UINT,StrValue,false,
+ HTM_INPUT_TEXT (Field,Cns_MAX_DECIMAL_DIGITS_UINT,StrValue,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%s\" size=\"3\" required=\"required\"",Field);
HTM_TD_End ();
@@ -3364,7 +3368,8 @@ static void Tst_WriteIntAnsSeeing (const struct TstRes_Result *Exam,
snprintf (StrAns,sizeof (StrAns),
"Ans%010u",
NumQst);
- HTM_INPUT_TEXT (StrAns,11,Exam->Questions[NumQst].StrAnswers,false,
+ HTM_INPUT_TEXT (StrAns,11,Exam->Questions[NumQst].StrAnswers,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"11\"");
}
@@ -3396,7 +3401,8 @@ static void Tst_WriteFloatAnsSeeing (const struct TstRes_Result *Exam,
snprintf (StrAns,sizeof (StrAns),
"Ans%010u",
NumQst);
- HTM_INPUT_TEXT (StrAns,Tst_MAX_BYTES_FLOAT_ANSWER,Exam->Questions[NumQst].StrAnswers,false,
+ HTM_INPUT_TEXT (StrAns,Tst_MAX_BYTES_FLOAT_ANSWER,Exam->Questions[NumQst].StrAnswers,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"11\"");
}
@@ -3427,7 +3433,7 @@ static void Tst_WriteTFAnsSeeing (const struct TstRes_Result *Exam,
/* Initially user has not answered the question ==> initially all the answers will be blank.
If the user does not confirm the submission of their exam ==>
==> the exam may be half filled ==> the answers displayed will be those selected by the user. */
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"name=\"Ans%010u\"",NumQst);
HTM_OPTION (HTM_Type_STRING,"" ,Exam->Questions[NumQst].StrAnswers[0] == '\0',false," ");
HTM_OPTION (HTM_Type_STRING,"T",Exam->Questions[NumQst].StrAnswers[0] == 'T' ,false,"%s",Txt_TF_QST[0]);
@@ -3701,7 +3707,8 @@ static void Tst_WriteTextAnsSeeing (const struct TstRes_Result *Result,
snprintf (StrAns,sizeof (StrAns),
"Ans%010u",
NumQst);
- HTM_INPUT_TEXT (StrAns,TstRes_MAX_CHARS_ANSWERS_ONE_QST,Result->Questions[NumQst].StrAnswers,false,
+ HTM_INPUT_TEXT (StrAns,TstRes_MAX_CHARS_ANSWERS_ONE_QST,Result->Questions[NumQst].StrAnswers,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"40\"");
}
@@ -4076,7 +4083,7 @@ static void Tst_PutFormEditOneQst (struct Tst_Question *Question)
/***** Write the tags already existing in a selector *****/
HTM_TD_Begin ("class=\"LM\"");
- HTM_SELECT_Begin (false,
+ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"SelTag%u\" name=\"SelTag%u\""
" class=\"TAG_SEL\" onchange=\"changeTxtTag('%u')\"",
IndTag,IndTag,IndTag);
@@ -4120,7 +4127,8 @@ static void Tst_PutFormEditOneQst (struct Tst_Question *Question)
snprintf (StrTagTxt,sizeof (StrTagTxt),
"TagTxt%u",
IndTag);
- HTM_INPUT_TEXT (StrTagTxt,Tst_MAX_CHARS_TAG,Question->Tags.Txt[IndTag],false,
+ HTM_INPUT_TEXT (StrTagTxt,Tst_MAX_CHARS_TAG,Question->Tags.Txt[IndTag],
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%s\" class=\"TAG_TXT\" onchange=\"changeSelTag('%u')\"",
StrTagTxt,IndTag);
HTM_TD_End ();
@@ -4205,7 +4213,8 @@ static void Tst_PutFormEditOneQst (struct Tst_Question *Question)
snprintf (StrInteger,sizeof (StrInteger),
"%ld",
Question->Answer.Integer);
- HTM_INPUT_TEXT ("AnsInt",Cns_MAX_DECIMAL_DIGITS_LONG,StrInteger,false,
+ HTM_INPUT_TEXT ("AnsInt",Cns_MAX_DECIMAL_DIGITS_LONG,StrInteger,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"11\" required=\"required\"%s",
Question->Answer.Type == Tst_ANS_INT ? "" :
" disabled=\"disabled\"");
@@ -4412,7 +4421,8 @@ static void Tst_PutFloatInputField (const char *Label,const char *Field,
snprintf (StrDouble,sizeof (StrDouble),
"%.15lg",
Question->Answer.FloatingPoint[Index]);
- HTM_INPUT_TEXT (Field,Tst_MAX_BYTES_FLOAT_ANSWER,StrDouble,false,
+ HTM_INPUT_TEXT (Field,Tst_MAX_BYTES_FLOAT_ANSWER,StrDouble,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"11\" required=\"required\"%s",
Question->Answer.Type == Tst_ANS_FLOAT ? "" :
" disabled=\"disabled\"");
diff --git a/swad_test_import.c b/swad_test_import.c
index f9ba7e44..3a586e93 100644
--- a/swad_test_import.c
+++ b/swad_test_import.c
@@ -172,7 +172,9 @@ void TsI_ShowFormImportQstsFromXML (void)
Frm_StartForm (ActImpTstQst);
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_XML_file);
- HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,".xml",true,NULL);
+ HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,".xml",
+ HTM_SUBMIT_ON_CHANGE,
+ NULL);
HTM_LABEL_End ();
Frm_EndForm ();
diff --git a/swad_timetable.c b/swad_timetable.c
index 7e2a7722..b813bfd4 100644
--- a/swad_timetable.c
+++ b/swad_timetable.c
@@ -1643,7 +1643,7 @@ static void TT_TimeTableDrawCell (const struct TT_Timetable *Timetable,
Par_PutHiddenParamUnsigned (NULL,"TTCol",Column);
/***** Class type *****/
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"TTTyp\" class=\"TT_TYP\"");
for (CT = (TT_ClassType_t) 0;
CT <= (TT_ClassType_t) (TT_NUM_CLASS_TYPES - 1);
@@ -1677,7 +1677,7 @@ static void TT_TimeTableDrawCell (const struct TT_Timetable *Timetable,
else
{
/***** Class duration *****/
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"TTDur\" class=\"TT_DUR\"");
for (i = Interval + TT_TimeTable[Weekday][Interval].Columns[Column].DurationIntervals;
i < Timetable->Config.IntervalsPerDay;
@@ -1710,7 +1710,7 @@ static void TT_TimeTableDrawCell (const struct TT_Timetable *Timetable,
HTM_LABEL_Begin ("for=\"TTGrp%s\"",CellStr);
HTM_Txt (Txt_Group);
HTM_LABEL_End ();
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"id=\"TTGrp%s\" name=\"TTGrp\""
" class=\"TT_GRP\"",
CellStr);
@@ -1752,7 +1752,8 @@ static void TT_TimeTableDrawCell (const struct TT_Timetable *Timetable,
HTM_Txt (Txt_Info);
HTM_LABEL_End ();
HTM_INPUT_TEXT ("TTInf",TT_MAX_CHARS_INFO,Info ? Info :
- "",true,
+ "",
+ HTM_SUBMIT_ON_CHANGE,
"id=\"TTInf%s\" size=\"1\" class=\"TT_INF\"",
CellStr);
}
@@ -1763,7 +1764,8 @@ static void TT_TimeTableDrawCell (const struct TT_Timetable *Timetable,
HTM_LABEL_Begin ("for=\"TTInf%s\" class=\"DAT_SMALL\"",CellStr);
HTM_Txt (Txt_Info);
HTM_LABEL_End ();
- HTM_INPUT_TEXT ("TTInf",TT_MAX_CHARS_INFO,Info,true,
+ HTM_INPUT_TEXT ("TTInf",TT_MAX_CHARS_INFO,Info,
+ HTM_SUBMIT_ON_CHANGE,
"id=\"TTInf%s\" size=\"12\" class=\"TT_INF\"",
CellStr);
}
diff --git a/swad_user.c b/swad_user.c
index 35024e3d..8df5e6c7 100644
--- a/swad_user.c
+++ b/swad_user.c
@@ -2581,7 +2581,8 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
HTM_LABEL_Begin ("for=\"UsrId\"");
Ico_PutIcon ("user.svg",Txt_User[Usr_SEX_UNKNOWN],"CONTEXT_ICO_16x16");
HTM_LABEL_End ();
- HTM_INPUT_TEXT ("UsrId",Cns_MAX_CHARS_EMAIL_ADDRESS,Gbl.Usrs.Me.UsrIdLogin,false,
+ HTM_INPUT_TEXT ("UsrId",Cns_MAX_CHARS_EMAIL_ADDRESS,Gbl.Usrs.Me.UsrIdLogin,
+ HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"UsrId\" size=\"18\" placeholder=\"%s\""
" autofocus=\"autofocus\" required=\"required\"",
Txt_nick_email_or_ID);
@@ -7508,7 +7509,7 @@ void Usr_ListDataAdms (void)
Usr_PutParamListWithPhotos ();
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_Scope);
- Sco_PutSelectorScope ("ScopeUsr",true);
+ Sco_PutSelectorScope ("ScopeUsr",HTM_SUBMIT_ON_CHANGE);
HTM_LABEL_End ();
Frm_EndForm ();
HTM_DIV_End ();
@@ -7978,7 +7979,7 @@ void Usr_SeeGuests (void)
Usr_PutParamsPrefsAboutUsrList ();
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_Scope);
- Sco_PutSelectorScope ("ScopeUsr",true);
+ Sco_PutSelectorScope ("ScopeUsr",HTM_SUBMIT_ON_CHANGE);
HTM_LABEL_End ();
Frm_EndForm ();
HTM_DIV_End ();
@@ -8125,7 +8126,7 @@ void Usr_SeeStudents (void)
Usr_PutParamsPrefsAboutUsrList ();
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_Scope);
- Sco_PutSelectorScope ("ScopeUsr",true);
+ Sco_PutSelectorScope ("ScopeUsr",HTM_SUBMIT_ON_CHANGE);
HTM_LABEL_End ();
Frm_EndForm ();
HTM_DIV_End ();
@@ -8306,7 +8307,7 @@ void Usr_SeeTeachers (void)
Usr_PutParamsPrefsAboutUsrList ();
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtColonNBSP (Txt_Scope);
- Sco_PutSelectorScope ("ScopeUsr",true);
+ Sco_PutSelectorScope ("ScopeUsr",HTM_SUBMIT_ON_CHANGE);
HTM_LABEL_End ();
Frm_EndForm ();
HTM_DIV_End ();
@@ -9157,7 +9158,7 @@ void Usr_PutSelectorNumColsClassPhoto (void)
/***** Start selector *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
- HTM_SELECT_Begin (true,
+ HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
"name=\"ColsClassPhoto\"");
/***** Put a row in selector for every number from 1 to Usr_CLASS_PHOTO_COLS_MAX *****/