本申請涉及計算機技術領域,尤其涉及一種在線表單中填充控件的方法和裝置。
背景技術:
在線表單是指用戶可以通過瀏覽器向服務器端提交信息,如用戶注冊、在線練習、在線調查表等都是在線表單的具體應用形式。在線表單可以分為在線流式表單和在線制式表單,制式表單是指內容部分和表格樣式部分(例如合并單元格、拆分單元格等樣式)需要同時記錄的表單,區(qū)別于流式表單只需記錄內容部分。這種表單常見于電子政務辦公、財務報表等業(yè)務過程中。在線制式表單的繪制分為樣式繪制和控件繪制兩部分操作。樣式繪制可以通過從Word或者Excel復制內容并粘貼到表單設計器實現(xiàn)。
目前的控件繪制操作以代碼編程或可視化編碼方式實現(xiàn)。前者需要表單設計者在已粘貼好的表單樣式上改動代碼;后者則需要用戶在每個輸入域上執(zhí)行“拖拽添加-設置屬性”的操作。
但是,目前的控件繪制操作都存在一定的問題,如,通過編碼的方式在表單設計器中為表單增加控件,對用戶來說技術門檻較高,而且表單設計器的初衷本就是希望通過“零編碼”的形式設計可用表單,因此并不是主流的表單控件繪制方式;通過可視化的方式實現(xiàn),在面對極其復雜的表單時,基于表單設計器設計一個表單往往工作量巨大。
技術實現(xiàn)要素:
本申請旨在至少在一定程度上解決相關技術中的技術問題之一。
為此,本申請的一個目的在于提出一種在線表單中填充控件的方法,該方法在用戶需要向在線表單中填充控件時,不需要用戶具有編程基礎,并且可以降低用戶的工作量。
本申請的另一個目的在于提出一種在線表單中填充控件的裝置。
為達到上述目的,本申請第一方面實施例提出的在線表單中填充控件的方法,包括:識別待填充控件的控件類型,并獲取與所述控件類型對應的控件模板;獲取所述待填充控件的控件屬性內容;根據(jù)所述控件模板和所述控件屬性內容,生成所述待填充控件;將所述待填充控件填充到在線表單中。
本申請第一方面實施例提出的在線表單中填充控件的方法,通過識別待填充控件的控件類型,根據(jù)控件類型獲取控件模板,以及獲取控件屬性內容,根據(jù)控件模板和控件屬性內容生成待填充控件,可以實現(xiàn)待填充控件的自動生成,之后可以將自動生成的控件填充到在線表單中,因此在用戶需要向在線表單中填充控件時,不需要用戶具有編程基礎,并且可以降低用戶的工作量。
為達到上述目的,本申請第二方面實施例提出的在線表單中填充控件的裝置,包括:第一獲取模塊,用于識別待填充控件的控件類型,并獲取與所述控件類型對應的控件模板;第二獲取模塊,用于獲取所述待填充控件的控件屬性內容;生成模塊,用于根據(jù)所述控件模板和所述控件屬性內容,生成所述待填充控件;填充模塊,用于將所述待填充控件填充到在線表單中。
本申請第二方面實施例提出的在線表單中填充控件的裝置,通過識別待填充控件的控件類型,根據(jù)控件類型獲取控件模板,以及獲取控件屬性內容,根據(jù)控件模板和控件屬性內容生成待填充控件,可以實現(xiàn)待填充控件的自動生成,之后可以將自動生成的控件填充到在線表單中,因此在用戶需要向在線表單中填充控件時,不需要用戶具有編程基礎,并且可以降低用戶的工作量。
本申請附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實踐了解到。
附圖說明
本申請上述的和/或附加的方面和優(yōu)點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1是本申請一個實施例提出的在線表單中填充控件的方法的流程示意圖;
圖2是本申請另一個實施例提出的在線表單中填充控件的方法的流程示意圖;
圖3是本申請實施例中一種規(guī)則庫的示意圖;
圖4是本申請一個實施例提出的在線表單中填充控件的裝置的結構示意圖;
圖5是本申請另一個實施例提出的在線表單中填充控件的裝置的結構示意圖。
具體實施方式
下面詳細描述本申請的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的模塊或具有相同或類似功能的模塊。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本申請,而不能理解為對本申請的限制。相反,本申請的實施例包括落入所附加權利要求書的精神和內涵范圍內的所有變化、修改和等同物。
圖1是本申請一個實施例提出的在線表單中填充控件的方法的流程示意圖。
在線表單可以分為在線流式表單和在線制式表單,本實施例可以具體應用于在線制式表單中,當然,也不排除在在線流式表單中的應用。
如圖1所示,本實施例的方法包括:
S11:識別待填充控件的控件類型,并獲取與所述控件類型對應的控件模板。
其中,可以根據(jù)在線表單中的已有信息自動識別出待填充控件的控件類型。
具體的,可以在已有信息中提取出待填充控件對應的單元格的相關信息,再根據(jù)提取出的相關信息和預先建立的規(guī)則庫,識別出待填充控件的控件類型。
待填充控件對應的單元格是指待填充控件所要填充的單元格,比如,需要在第一單元格中填充一個控件A,則當待填充控件為控件A時,控件A對應的單元格是指第一單元格。
單元格的相關信息可以包括:附近控件類型、單元格類型、關聯(lián)標簽(label)。
附近控件類型是指單元格周圍相對最近的已知控件類型。由于控件類型是已知的,因此可以根據(jù)已知信息直接獲取到附近控件類型。
單元格類型是指單元格的格式,比如數(shù)字、文本、日期等。在線制式表單中的內容可以是從word或excel中復制并粘貼的,當在內容粘貼時,會包含單元格的格式信息,因此從粘貼信息中可以獲取到單元格類型。
關聯(lián)標簽是指特定單元格中的內容,特定單元格例如包括:當前單元格的左側相鄰單元格和上側相鄰單元格,以及,整個表單的最左上的單元格。因此,通過讀取這些特定單元格中的內容可以獲取到關聯(lián)標簽。
規(guī)則庫中記錄單元格的相關信息與控件類型之間的對應關系。因此,獲取到單元格的相關信息后,根據(jù)該對應關系可以識別出控件類型。
在識別出控件類型后,可以從控件庫中獲取對應的控件模板。其中,可以預先對應每種控件類型生成相應的控件模板,并存儲在控件庫中。因此,當識別出控件類型后,可以在控件庫中查找到識別出的控件類型對應的控件模板。
S12:獲取所述待填充控件的控件屬性內容。
其中,可以獲取待填充控件對應的單元格內的填充內容,根據(jù)填充內容獲取控件屬性內容。
當從word或excel向在線制式表單中粘貼內容時,可以從粘貼內容中獲取控件屬性內容。
控件屬性內容包括屬性和屬性值,屬性是指單元格內填寫內容的屬性,比如性別、年齡、姓名、選項等,屬性值是指屬性的具體值,比如性別對應的單元格,如果已填寫內容是“男”,則相應的屬性是“性別”,屬性值是“男”。
S13:根據(jù)所述控件模板和所述控件屬性內容,生成所述待填充控件。
控件模板是具有一定結構的超文本標記語言(HyperText Markup Language,HTML)源碼片段或者可以生成HTML源碼片段的特定數(shù)據(jù)結構。在這段HTML源碼片段中加入屬性和屬性值,就可以生成待填充控件。其中,生成的具體是頁面控件源碼,將頁面控件源碼插入到頁面中就可以通過瀏覽器查看。另外,在生成控件時,還可以自動生成ID、控件屬性設置,控件校驗規(guī)則添加等。
S14:將所述待填充控件填充到在線表單中。
在填充控件時,如果控件對應單元格中無隱藏內容,則可以直接將生成的控件填充到對應的單元格中。如果該單元格中存在隱藏內容,則需要先刪除隱藏內容,在單元格為空后,填充生成的控件。
具體的,可以根據(jù)單元格對應的HTML源碼的標簽判斷單元中是否存在隱藏內容,其中標簽用于標識是否存在隱藏內容,比如用標簽“hidden”表示存在隱藏內容。
本實施例中,通過識別待填充控件的控件類型,根據(jù)控件類型獲取控件模板,以及獲取控件屬性內容,根據(jù)控件模板和控件屬性內容生成待填充控件,可以實現(xiàn)待填充控件的自動生成,之后可以將自動生成的控件填充到在線表單中,因此在用戶需要向在線表單中填充控件時,不需要用戶具有編程基礎,并且可以降低用戶的工作量。
圖2是本申請另一個實施例提出的在線表單中填充控件的方法的流程示意圖。
如圖2所示,本實施例的方法包括:
S21:對填充域進行識別,獲取單元格的相關信息。
其中,填充域是指待填充控件所要填充的單元格。
單元格的相關信息包括:附近控件類型、單元格類型、關聯(lián)標簽。
附近控件類型是指單元格周圍相對最近的已知控件類型。由于控件類型是已知的,因此可以根據(jù)已知信息直接獲取到附近控件類型。
單元格類型是指單元格的格式,比如數(shù)字、文本、日期等。在線制式表單中的內容可以是從word或excel中復制并粘貼的,當在內容粘貼時,會包含單元格的格式信息,因此從粘貼信息中可以獲取到單元格類型。
關聯(lián)標簽是指特定單元格中的內容,特定單元格例如包括:當前單元格的左側相鄰單元格和上側相鄰單元格,以及,整個表單的最左上的單元格。因此,通過讀取這些特定單元格中的內容可以獲取到關聯(lián)標簽。
S22:根據(jù)單元格的相關信息和預先建立的規(guī)則庫,確定待填充控件的控件類型。
例如,參見圖3,為一種規(guī)則庫,規(guī)則庫中記錄單元格的相關信息與控件類型之間的對應關系。因此,獲取到單元格的相關信息后,根據(jù)該對應關系可以識別出控件類型。
S23:根據(jù)控件類型,從控件庫中獲取控件模板。
在識別出控件類型后,可以從控件庫中獲取對應的控件模板。其中,可以預先對應每種控件類型生成相應的控件模板,并存儲在控件庫中。因此,當識別出控件類型后,可以在控件庫中查找到識別出的控件類型對應的控件模板。
S24:對填充域中的填充內容進行識別,獲取待填充控件的控件屬性內容。
在識別出控件類型后,可以從控件庫中獲取對應的控件模板。其中,可以預先對應每種控件類型生成相應的控件模板,并存儲在控件庫中。因此,當識別出控件類型后,可以在控件庫中查找到識別出的控件類型對應的控件模板。
S25:根據(jù)控件模板和控件屬性內容,生成頁面控件。
控件模板是具有一定結構的超文本標記語言(HyperText Markup Language,HTML)源碼片段或者可以生成HTML源碼片段的特定數(shù)據(jù)結構。在這段HTML源碼片段中加入屬性和屬性值,就可以生成待填充控件。其中,生成的具體是頁面控件源碼,將頁面控件源碼插入到頁面中就可以通過瀏覽器查看。另外,在生成控件時,還可以自動生成ID、控件屬性設置,控件校驗規(guī)則添加等。
S26:將頁面控件填充到填充域中。
在填充控件時,如果控件對應單元格中無隱藏內容,則可以直接將生成的控件填充到對應的單元格中。如果該單元格中存在隱藏內容,則需要先刪除隱藏內容,在單元格為空后,填充生成的控件。
具體的,可以根據(jù)單元格對應的HTML源碼的標簽判斷單元中是否存在隱藏內容,其中標簽用于標識是否存在隱藏內容,比如用標簽“hidden”表示存在隱藏內容。
本實施例中,通過識別填充域和填充內容,可以完成控件的自動生成和填充,可以以零編碼的方式實現(xiàn)表單自動繪制,無編程門檻。以及,大大降低表單設計人員在設計表單時的工作量,尤其是在面對大型復雜表單的設計時,自動識別和生成表單控件為用戶帶來極大便利。
圖4是本申請一個實施例提出的在線表單中填充控件的裝置的結構示意圖。
如圖4所示,本實施例的裝置40包括:第一獲取模塊41、第二獲取模塊42、生成模塊43和填充模塊44。
第一獲取模塊41,用于識別待填充控件的控件類型,并獲取與所述控件類型對應的控件模板;
第二獲取模塊42,用于獲取所述待填充控件的控件屬性內容;
生成模塊43,用于根據(jù)所述控件模板和所述控件屬性內容,生成所述待填充控件;
填充模塊44,用于將所述待填充控件填充到在線表單中。
一些實施例中,參見圖5,所述第一獲取模塊41包括:
識別子模塊411,用于根據(jù)在線表單中的已有信息,提取所述待填充控件對應的單元格的相關信息;根據(jù)所述相關信息和預先建立的規(guī)則庫,識別待填充控件的控件類型,所述規(guī)則庫中記錄單元格的相關信息與控件類型之間的對應關系;以及,
獲取子模塊412,用于獲取與所述控件類型對應的控件模板。
一些實施例中,所述相關信息,包括:
附近控件類型、單元格類型、關聯(lián)標簽。
一些實施例中,所述第二獲取模塊42具體用于:
獲取所述待填充控件對應的單元格內的填充內容;
根據(jù)所述填充內容獲取控件屬性內容。
一些實施例中,所述填充模塊44具體用于:
如果所述待填充控件對應的單元格內不存在隱藏內容,則將所述待填充控件直接填充到所述單元格內;或者,
如果所述待填充控件對應的單元格內存在隱藏內容,則刪除所述隱藏內容,并在刪除后將所述待填充控件填充到所述單元格內。
可以理解的是,本實施例的裝置與上述方法實施例對應,具體內容可以參見方法實施例的相關描述,在此不再詳細說明。
本實施例中,通過識別待填充控件的控件類型,根據(jù)控件類型獲取控件模板,以及獲取控件屬性內容,根據(jù)控件模板和控件屬性內容生成待填充控件,可以實現(xiàn)待填充控件的自動生成,之后可以將自動生成的控件填充到在線表單中,因此在用戶需要向在線表單中填充控件時,不需要用戶具有編程基礎,并且可以降低用戶的工作量。
可以理解的是,上述各實施例中相同或相似部分可以相互參考,在一些實施例中未詳細說明的內容可以參見其他實施例中相同或相似的內容。
需要說明的是,在本申請的描述中,術語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。此外,在本申請的描述中,除非另有說明,“多個”的含義是指至少兩個。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本申請的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應被本申請的實施例所屬技術領域的技術人員所理解。
應當理解,本申請的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
本技術領域的普通技術人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
此外,在本申請各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。
上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本申請的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
盡管上面已經(jīng)示出和描述了本申請的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本申請的限制,本領域的普通技術人員在本申請的范圍內可以對上述實施例進行變化、修改、替換和變型。