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 *****/