專利名稱:一種瀏覽器的文件上傳控件的生成方法及生成裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及web應(yīng)用領(lǐng)域,特別涉及一種瀏覽器的文件上傳控件的 生成方法及一種瀏覽器的文件上傳控件的生成裝置。
背景技術(shù):
目前,在純Web的應(yīng)用中,基于各個瀏覽器開發(fā)廠商的限制,在設(shè) 計文件上傳控件時,必須用到瀏覽器默認(rèn)的文件上傳控件。如圖l所示, 這種默認(rèn)的文件上傳控件通常由設(shè)置在左邊的文本框101和設(shè)置在右邊 的按鈕102組成,生成后, 一旦控件中的按鈕受到觸發(fā),則會彈出本地 硬盤的瀏覽窗口,用戶從中選定文件后,相應(yīng)文件的路徑會出現(xiàn)在文本 框中。然而在實(shí)際中,由于這種默認(rèn)文件上傳控件的限制,往往不能滿足 用戶自定義的需求,例如,不能對按鈕上的文字進(jìn)行更改、不能對文本 框或按鈕的長度進(jìn)行調(diào)節(jié)、不能采用其它的網(wǎng)頁元素(如圖片)來代替 按鈕、不支持諸多CSS (層疊樣式表)事件等。由此,可能產(chǎn)生一系列 應(yīng)用問題,例如,若整個Web系統(tǒng)有自己的默認(rèn)風(fēng)格,則這種默認(rèn)的文 件上傳控件的固化設(shè)置會破壞整個系統(tǒng)的視覺效果;或者,在具有多語 言版本(如,簡體中文、繁體中文、英文)的Web應(yīng)用中,當(dāng)用戶用默 認(rèn)語言設(shè)置為簡體中文的瀏覽器訪問繁體中文或英文版本的時候,看到 的上傳控件按鈕的文字仍然是簡體中文的"瀏覽...";如果用默認(rèn)語言設(shè)置 為英文的瀏覽器訪問簡體中文或繁體中文版本的時候,上傳控件按鈕的 文字仍然是英文"Bro wse...,,等。對此,現(xiàn)有技術(shù)提出了一種在這種默認(rèn)的文件上傳控件上疊加自定 義控件的解決方式,具體而言,可以通過以下步驟實(shí)現(xiàn)步驟Sl、在頁面上布置一個網(wǎng)頁表單、 一個普通的文本框和一個普通的按鈕;步驟S2、在網(wǎng)頁表單中布置一個瀏覽器默認(rèn)的文件上傳控件,并把 它的不透明度設(shè)置為O,即使它完全透明。步驟S3、把這個完全透明的默認(rèn)文件上傳控件設(shè)置為絕對定位,并 把其中的按鈕部分疊加在預(yù)先前設(shè)置的普通按鈕上面;步驟S4、在默認(rèn)文件上傳控件中注冊一個change事件,這個事件是 當(dāng)默認(rèn)文件上傳控件中文本框的值改變時觸發(fā)的動作,當(dāng)此控件的值改 變時,就把這個值復(fù)制到先前定義好的普通文本框里;當(dāng)用戶在瀏覽器上點(diǎn)擊這個普通按鈕時,實(shí)際上是點(diǎn)擊了那個完全 透明的文件上傳控件的按鈕,所以就會彈出默認(rèn)的本地硬盤的瀏覽窗口 。 用戶選定上傳的文件,^皮選中文件的本地石更盤路徑會分別出現(xiàn)在這個普 通文本框和默認(rèn)文件上傳控件中,這時提交頁面上的表單就可以使相應(yīng) 的文件上傳到服務(wù)器。然而,這種現(xiàn)有的解決方式仍然存在一些缺陷,例如1、 因為不能調(diào)整瀏覽器默認(rèn)的文件上傳控件的寬度,所以當(dāng)自定義 的按鈕長度大于默認(rèn)上傳控件中的按鈕時,默認(rèn)的按鈕不能完全覆蓋自 定義的按鈕,導(dǎo)致點(diǎn)擊自定義按鈕的某些部分不能觸發(fā)本地硬盤的瀏覽 窗口;或者,當(dāng)自定義的按鈕長度小于默認(rèn)上傳控件中的按鈕時,默認(rèn) 的按鈕的覆蓋區(qū)域會超出自定義的按鈕的顯示范圍,導(dǎo)致點(diǎn)擊某些非自 定義按鈕的部分也會觸發(fā)本地硬盤的瀏覽窗口的不合理現(xiàn)象;2、 因為默認(rèn)的瀏覽器上傳控件有自己的文本框部分,這部分文本框 會擋住一部分頁面,影響這部分頁面的正常^"為。例如,前面的解決方 案經(jīng)常會擋住了自定義的文本框,影響文本框的正常獲取焦點(diǎn)和輸入;3、 當(dāng)觸發(fā)了本地硬盤的瀏覽窗口后,此時屏幕焦點(diǎn)停留在透明的默 認(rèn)文件上傳控件上,違反交互習(xí)慣;4、 因為不同瀏覽器的默認(rèn)文件上傳控件的寬度是不一樣的,所以不 能在不同的瀏覽器上使用。發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種瀏覽器的文件上傳控件的生 成方法,用以解決瀏覽器默認(rèn)的文件上傳控件不能改變的按鈕文字和樣 式所導(dǎo)致的問題,并正確模擬默認(rèn)文件上傳按鈕的行為,能在不同瀏覽 器上使用。本發(fā)明還提供了 一種瀏覽器的文件上傳控件的生成裝置,用以保證 上述方法在實(shí)際中的實(shí)現(xiàn)及應(yīng)用。為解決上述技術(shù)問題,本發(fā)明實(shí)施例公開了 一種瀏覽器的文件上傳控件的生成方法,包括在web頁面上生成web表單、目標(biāo)按鈕和目標(biāo)文本框,所述web表 單中布置有瀏覽器默認(rèn)的文件上傳控件,所述默認(rèn)上傳控件在所述表單 中具有固定位置,并且是透明的;在所述目標(biāo)按鈕中添加第 一 控制事件,所述第 一 控制事件用于在鼠 標(biāo)進(jìn)入所述目標(biāo)按鈕的區(qū)域時觸發(fā),將所述默認(rèn)上傳控件的右邊定位至 當(dāng)前鼠標(biāo)的4立置;在所述默認(rèn)上傳控件中添加第二控制事件、第三控制事件和第四控 制事件,所述第二控制事件用于在所述默認(rèn)上傳控件的文本框中的值改 變時觸發(fā),將所述改變的值添加至所述目標(biāo)文本框中;所述第三控制事 件用于監(jiān)控當(dāng)前鼠標(biāo)的位置是否在所述目標(biāo)按鈕的區(qū)域內(nèi),如果是,則 依據(jù)當(dāng)前鼠標(biāo)的位置定位所述默認(rèn)上傳控件;如果否,則屏蔽所述默認(rèn) 上傳控件;所述第四控制事件用于在觸發(fā)所述默認(rèn)上傳控件的按鈕時觸 發(fā),將當(dāng)前焦點(diǎn)定位至所述目標(biāo)文本框中。優(yōu)選的,所述目標(biāo)按鈕具有顯示的樣式屬性。優(yōu)選的,所述第四控制事件的焦點(diǎn)定位操作為在一定延時后將當(dāng)前 焦點(diǎn)定位至所述目標(biāo)文本框中。優(yōu)選的,所述第一控制事件為mouseover事件;所述第二控制事件為 change事件;所述第三控制事件為mousemove事件;所述第四控制事件 為onclick事件。本發(fā)明實(shí)施例還公開了一種瀏覽器的文件上傳控件的生成裝置,包括生成單元,用于在web頁面上生成web表單、目標(biāo)按鈕和目標(biāo)文本 框,所述web表單中布置有瀏覽器默認(rèn)的文件上傳控件,所述默認(rèn)上傳 控件在所述表單中具有固定位置,并且是透明的; —第一事件注冊單元,用于在所述目標(biāo)按鈕中添加第一控制事件,所 述第一控制事件用于在鼠標(biāo)進(jìn)入所述目標(biāo)按鈕的區(qū)域時觸發(fā),將所述默 認(rèn)上傳控件的右邊定位至當(dāng)前鼠標(biāo)的位置;第二事件注冊單元,用于在所述默認(rèn)上傳控件中添加第二控制事件, 所述第二控制事件用于在所述默認(rèn)上傳控件的文本框中的值改變時觸 發(fā),將所述改變的值添加至所述目標(biāo)文本框中;第三事件注冊單元,用于在所述默認(rèn)上傳控件中添加第三控制事件, 所述第三控制事件用于監(jiān)控當(dāng)前鼠標(biāo)的位置是否在所述目標(biāo)按鈕的區(qū)域 內(nèi),如果是,則依據(jù)當(dāng)前鼠標(biāo)的位置定位所述默認(rèn)上傳控件;如果否, 則屏蔽所述默認(rèn)上傳控件;第四事件注冊單元,用于在所述默認(rèn)上傳控件中添加第四控制事件,所述第四控制事件用于在觸發(fā)所述默認(rèn)上傳控件的按鈕時觸發(fā),將當(dāng)前 焦點(diǎn)定位至所述目標(biāo)文本框中。優(yōu)選的,所述目標(biāo)按鈕具有顯示的樣式屬性。優(yōu)選的,所述第一控制事件為mouseover事件;所述第二控制事件為 change事件;所述第三控制事件為mousemove事件;所述第四控制事件 為onclick事件。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)首先,本發(fā)明通過所述目標(biāo)按鈕中的第一控制事件,依據(jù)當(dāng)前鼠標(biāo)的位置具體定位所述默認(rèn)上傳控件,以及,通過所述默認(rèn)上傳控件中的 第三控制事件監(jiān)控當(dāng)前鼠標(biāo)的位置,實(shí)時判斷是否在所述目標(biāo)按鈕的區(qū) 域內(nèi),如果是,則依據(jù)當(dāng)前鼠標(biāo)的位置定位所述默認(rèn)上傳控件,即控制 默認(rèn)上傳控件相對于鼠標(biāo)的位置靜止地移動,從而在目標(biāo)按鈕區(qū)域內(nèi)的 任何位置都能觸發(fā)本地硬盤的瀏覽窗口,避免了現(xiàn)有技術(shù)中當(dāng)自定義的 按鈕長度(即本發(fā)明中的目標(biāo)按鈕)大于默認(rèn)上傳控件中的按鈕時,點(diǎn) 擊自定義按鈕的某些部分不能觸發(fā)本地硬盤的瀏覽窗口的問題;以及,當(dāng)自定義的按鈕長度小于默認(rèn)上傳控件中的按鈕時,默認(rèn)的按鈕的覆蓋 區(qū)域會超出自定義的按鈕的顯示范圍,點(diǎn)擊某些非自定義按鈕的部分也會觸發(fā)本地硬盤的瀏覽窗口的不合紐現(xiàn)象;如果當(dāng)前鼠標(biāo)的位置不在目 標(biāo)按鈕的區(qū)域內(nèi),就屏蔽所述默認(rèn)上傳控件,即將默認(rèn)上傳控件在屏幕 上隱藏,使它不會阻擋頁面其它元素的正常行為,進(jìn)而可以使本發(fā)明的 文件上傳控件在不同瀏覽器上使用。再者,本發(fā)明通過所述默認(rèn)上傳控件中的第四控制事件在觸發(fā)所述 默認(rèn)上傳控件的按鈕時,將當(dāng)前焦點(diǎn)重新定位至所述目標(biāo)文本框中,從 而避免了現(xiàn)有技術(shù)中違反交互習(xí)慣的屏幕焦點(diǎn)停留在默認(rèn)上傳控件的行 為。最后,本發(fā)明對于服務(wù)提供商來說,技術(shù)實(shí)現(xiàn)簡單,無技術(shù)障礙, 無特殊保密算法,成本和風(fēng)險較低。
圖1是一種瀏覽器默認(rèn)的文件上傳控件結(jié)構(gòu)的示意圖; 圖2是本發(fā)明的一種瀏覽器的文件上傳控件的生成方法實(shí)施例1的 流程圖;圖3是本發(fā)明的一種瀏覽器的文件上傳控件的生成方法實(shí)施例2的 流程圖;圖4是本發(fā)明的一種瀏覽器的文件上傳控件的生成裝置實(shí)施例的結(jié) 構(gòu)框圖。
具體實(shí)施方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合 附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)的說明。本發(fā)明可用于眾多通用或?qū)S玫挠嬎阆到y(tǒng)環(huán)境或配置中。例如個 人計算機(jī)、服務(wù)器計算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處 理器系統(tǒng)、包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。本發(fā)明可以在由計算機(jī)執(zhí)行的計算機(jī)可執(zhí)行指令的 一般上下文中描述,例如程序模塊。 一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽 象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布 式計算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò) 而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊 可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。參考圖2,示出了本發(fā)明的一種瀏覽器的文件上傳控件的生成方法實(shí) 施例1的流程圖,可以包^"以下步驟步驟201、在web頁面上生成web表單、目標(biāo)按鈕和目標(biāo)文本框, 所述web表單中布置有瀏覽器默認(rèn)的文件上傳控件,所述默認(rèn)上傳控件 在所述表單中具有固定位置,并且是透明的;步驟202、在所述目標(biāo)按鈕中添加第一控制事件,所述第一控制事件 用于在鼠標(biāo)進(jìn)入所述目標(biāo)按鈕的區(qū)域時觸發(fā),將所述默認(rèn)上傳控件的右 邊定位至當(dāng)前鼠標(biāo)的位置;步驟203、在所述默認(rèn)上傳控件中添加第二控制事件,所述第二控制 事件用于在所述默認(rèn)上傳控件的文本框中的值改變時觸發(fā),將所述改變 的值添加至所述目標(biāo)文本框中;步驟204、在所述默認(rèn)上傳控件中添加第三控制事件,所述第三控制 事件用于監(jiān)控當(dāng)前鼠標(biāo)的位置是否在所述目標(biāo)按鈕的區(qū)域內(nèi),如果是, 則依據(jù)當(dāng)前鼠標(biāo)的位置定位所述默認(rèn)上傳控件;如果否,則屏蔽所述默 認(rèn)上傳控件;步驟205、在所述默認(rèn)上傳控件中添加第四控制事件,所述第四控制 事件用于在觸發(fā)所述默認(rèn)上傳控件的按鈕時觸發(fā),將當(dāng)前焦點(diǎn)定位至所 述目標(biāo)文本框中。在實(shí)際中,所述web表單、目標(biāo)按4丑和目標(biāo)文本框都是可以任意地 控制樣式的。優(yōu)選的是,為了防止默認(rèn)上傳控件的高度超過所述目標(biāo)按 鈕的高度,可以將所述默認(rèn)上傳控件的高度設(shè)置得比較小,例如,10px。 此外,還可以將所述目標(biāo)按鈕的樣式屬性display設(shè)置為,在屏幕上正常 顯示。在IE瀏覽器中,由于彈出本地硬盤瀏覽窗口和腳本的執(zhí)行是異步的,所以在重定位焦點(diǎn)時,可能會對彈出本地硬盤瀏覽窗口的行為產(chǎn)生影響, 導(dǎo)致本地硬盤的瀏覽窗口不能彈出。對此,可以設(shè)置所述第四控制事件 的焦點(diǎn)定位操作為,在 一定延時后將當(dāng)前焦點(diǎn)定位至所述目標(biāo)文本框中。 具體而言,可以設(shè)置一個定時器,用于在觸發(fā)所述默認(rèn)上傳控件的按鈕 一段時間后(如1秒),再做屏幕焦點(diǎn)重定位的操作。當(dāng)然,上述延時方案的設(shè)計僅對于目前的IE瀏覽器而言,事實(shí)上,在其它的瀏覽器中, 彈出本地硬盤瀏覽窗口和腳本的執(zhí)行過程可能是同步的,在這種情況下, 則直接將當(dāng)前焦點(diǎn)定位至所述目標(biāo)文本框中即可。對此,本領(lǐng)域技術(shù)人 員根據(jù)實(shí)際情況相應(yīng)處理即可,本發(fā)明對此不需要進(jìn)行限定。應(yīng)用本實(shí)施例,在瀏覽器上點(diǎn)擊目標(biāo)按鈕時,實(shí)際上是點(diǎn)擊了默認(rèn) 上傳控件的按鈕,所以就會彈出默認(rèn)的本地硬盤的瀏覽窗口;當(dāng)選定要 上傳的文件確認(rèn)后,被選中文件的本地硬盤路徑則會分別出現(xiàn)在目標(biāo)文 本框和默認(rèn)上傳控件的文本框中,由于后者是透明的,并且此時焦點(diǎn)也 會停留在目標(biāo)按鈕上,所以操作的過程和結(jié)果與觸發(fā)所述默認(rèn)上傳控件 是一樣的。此時,提交所述web頁面的web表單即可將相應(yīng)的文件才丸行 上傳操作。本發(fā)明通過所述目標(biāo)按鈕中的第 一控制事件,依據(jù)當(dāng)前鼠標(biāo)的位置 具體定位所述默認(rèn)上傳控件,以及,通過所述默認(rèn)上傳控件中的第三控 制事件監(jiān)控當(dāng)前鼠標(biāo)的位置,實(shí)時判斷是否在所述目標(biāo)按鈕的區(qū)域內(nèi), 如果是,則依據(jù)當(dāng)前鼠標(biāo)的位置定位所述默認(rèn)上傳控件,即控制默認(rèn)上 傳控件相對于鼠標(biāo)的位置靜止地移動,從而在目標(biāo)按鈕區(qū)域內(nèi)的任何位 置都能觸發(fā)本地硬盤的瀏覽窗口 ,避免了現(xiàn)有技術(shù)中當(dāng)自定義的按鈕長 度(即本發(fā)明中的目標(biāo)按鈕)大于默認(rèn)上傳控件中的按鈕時,點(diǎn)擊自定 義按鈕的某些部分不能觸發(fā)本地硬盤的瀏覽窗口的問題;以及,當(dāng)自定 義的按鈕長度小于默認(rèn)上傳控件中的按鈕時,默認(rèn)的按鈕的覆蓋區(qū)域會 超出自定義的按鈕的顯示范圍,點(diǎn)擊某些非自定義按鈕的部分也會觸發(fā) 本地硬盤的瀏覽窗口的不合理現(xiàn)象;如果當(dāng)前鼠標(biāo)的位置不在目標(biāo)按鈕 的區(qū)域內(nèi),就屏蔽所述默認(rèn)上傳控件,即將默認(rèn)上傳控件在屏幕上隱藏, 使它不會阻擋頁面其它元素的正常行為,進(jìn)而可以使本發(fā)明的文件上傳 控件在不同瀏覽器上使用。再者,通過所述默認(rèn)上傳控件中的第四控制事件在觸發(fā)所述默認(rèn)上傳控件的按鈕時,將當(dāng)前焦點(diǎn)重新定位至所述目 標(biāo)文本框中,從而避免了現(xiàn)有技術(shù)中違反交互習(xí)慣的屏幕焦點(diǎn)停留在默 認(rèn)上傳控件的行為。參考圖3,示出了本發(fā)明的一種瀏覽器的文件上傳控件的生成方法實(shí) 施例2的流程圖,可以包括以下步驟步驟301、在web頁面上生成web表單、目標(biāo)按鈕和目標(biāo)文本框, 所述web表單中布置有瀏覽器默認(rèn)的文件上傳控件,所述默認(rèn)上傳控件 在所述表單中具有固定位置,并且是透明的;步驟302、在所述目標(biāo)按鈕中添加mouseover 事件,所述mouseover 事件用于在鼠標(biāo)進(jìn)入所述目標(biāo)按鈕的區(qū)域時觸發(fā),將所述默認(rèn)上傳控件 的右邊定位至當(dāng)前鼠標(biāo)的位置,并把所述目標(biāo)按鈕的樣式屬性設(shè)置為在 屏幕上顯示;步驟303、在所述默認(rèn)上傳控件中添加change事件,所述change事 件用于在所述默認(rèn)上傳控件的文本框中的值改變時觸發(fā),將所述改變的 值添加至所述目標(biāo)文本框中;例如,在用戶在本地硬盤的瀏覽窗口中選定上傳文件后,所述默認(rèn) 上傳控件的文本框中的值會改變?yōu)樵撋蟼魑募穆窂?,此時,change事 件將控制把這個路徑復(fù)制到目標(biāo)文本框中。步驟304、在所述默認(rèn)上傳控件中添加mousemove事件,所述 mousemove事件用于監(jiān)控當(dāng)前鼠標(biāo)的位置是否在所述目標(biāo)按鈕的區(qū)域內(nèi), 如果是,則依據(jù)當(dāng)前鼠標(biāo)的位置定位所述默認(rèn)上傳控件;如果否,則屏 蔽所述默認(rèn)上傳控件;步驟305、在所述默認(rèn)上傳控件中添加onclick事件,所述onclick事 件用于在觸發(fā)所述默認(rèn)上傳控件的按鈕時觸發(fā),將當(dāng)前焦點(diǎn)定位至所述 目標(biāo)文本框中。對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列 的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動 作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時 進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。此 外,在上述實(shí)施例中,對各個實(shí)施例的描述都各有側(cè)重,某個實(shí)施例中 沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。參考圖4,示出了本發(fā)明的一種瀏覽器的文件上傳控件的生成裝置實(shí) 施例的結(jié)構(gòu)框圖,可以包括以下單元生成單元401,用于在web頁面上生成web表單、目標(biāo)按4丑和目標(biāo) 文本框,所述web表單中布置有瀏覽器默認(rèn)的文件上傳控件,所述默認(rèn) 上傳控件在所述表單中具有固定位置,并且是透明的;第 一事件注冊單元402,用于在所述目標(biāo)按4丑中添加第一控制事件, 所述第一控制事件用于在鼠標(biāo)進(jìn)入所述目標(biāo)按鈕的區(qū)域時觸發(fā),將所述 默認(rèn)上傳控件的右邊定位至當(dāng)前鼠標(biāo)的位置;第二事件注冊單元403,用于在所述默認(rèn)上傳控件中添加第二控制事 件,所述第二控制事件用于在所述默認(rèn)上傳控件的文本框中的值改變時 觸發(fā),將所述改變的值添加至所述目標(biāo)文本框中;第三事件注冊單元404,用于在所述默認(rèn)上傳控件中添加第三控制事 件,所述第三控制事件用于監(jiān)控當(dāng)前鼠標(biāo)的位置是否在所述目標(biāo)按鈕的 區(qū)域內(nèi),如果是,則依據(jù)當(dāng)前鼠標(biāo)的位置定位所述默認(rèn)上傳控件;如果 否,則屏蔽所述默認(rèn)上傳控件;第四事件注冊單元405,用于在所述默認(rèn)上傳控件中添加第四控制事 件,所述第四控制事件用于在觸發(fā)所述默認(rèn)上傳控件的按鈕時觸發(fā),將 當(dāng)前焦點(diǎn)定位至所述目標(biāo)文本框中。優(yōu)選的是,所述目標(biāo)按鈕具有顯示的樣式屬性。更具體地,所述第一控制事件可以為mouseover事件;所述第二控制 事件可以為change事件;所述第三控制事件可以為mousemove事件;所 述第四控制事件可以為onclick事件。由于圖4所示的瀏覽器的文件上傳控件的生成裝置實(shí)施例可以對應(yīng) 適用于前述的各種方法實(shí)施例中,所以針對圖4的描述較為簡略,未詳 盡之處可以參見本說明書前面相應(yīng)部分的描述。需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求 或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且, 術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非排他性的包含,從而 使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素, 而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、 物品或者設(shè)備所固有的要素。以上對本發(fā)明所提供的 一種瀏覽器的文件上傳控件的生成方法、及 一種瀏覽器的文件上傳控件的生成裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了 具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般 技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改 變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1、一種瀏覽器的文件上傳控件的生成方法,其特征在于,包括在web頁面上生成web表單、目標(biāo)按鈕和目標(biāo)文本框,所述web表單中布置有瀏覽器默認(rèn)的文件上傳控件,所述默認(rèn)上傳控件在所述表單中具有固定位置,并且是透明的;在所述目標(biāo)按鈕中添加第一控制事件,所述第一控制事件用于在鼠標(biāo)進(jìn)入所述目標(biāo)按鈕的區(qū)域時觸發(fā),將所述默認(rèn)上傳控件的右邊定位至當(dāng)前鼠標(biāo)的位置;在所述默認(rèn)上傳控件中添加第二控制事件、第三控制事件和第四控制事件,所述第二控制事件用于在所述默認(rèn)上傳控件的文本框中的值改變時觸發(fā),將所述改變的值添加至所述目標(biāo)文本框中;所述第三控制事件用于監(jiān)控當(dāng)前鼠標(biāo)的位置是否在所述目標(biāo)按鈕的區(qū)域內(nèi),如果是,則依據(jù)當(dāng)前鼠標(biāo)的位置定位所述默認(rèn)上傳控件;如果否,則屏蔽所述默認(rèn)上傳控件;所述第四控制事件用于在觸發(fā)所述默認(rèn)上傳控件的按鈕時觸發(fā),將當(dāng)前焦點(diǎn)定位至所述目標(biāo)文本框中。
2、 如權(quán)利要求l所述的方法,其特征在于,所述目標(biāo)按鈕具有顯示 的樣式屬性。
3、 如權(quán)利要求l或2所述的方法,其特征在于,所述第四控制事件 的焦點(diǎn)定位操作為在一定延時后將當(dāng)前焦點(diǎn)定位至所述目標(biāo)文本框中。
4、 如權(quán)利要求1所述的方法,其特征在于,所述第一控制事件為 mouseover事件;所述第二控制事件為change事件;所述第三控制事件 為mousemove事件;所述第四控制事件為onclick事件。
5、 一種瀏覽器的文件上傳控件的生成裝置,其特征在于,包括 生成單元,用于在web頁面上生成web表單、目標(biāo)按鈕和目標(biāo)文本框,所述web表單中布置有瀏覽器默認(rèn)的文件上傳控件,所述默認(rèn)上傳 控件在所述表單中具有固定位置,并且是透明的;第一事件注冊單元,用于在所述目標(biāo)按鈕中添加第一控制事件,所 述第一控制事件用于在鼠標(biāo)進(jìn)入所述目標(biāo)按鈕的區(qū)域時觸發(fā),將所述默 認(rèn)上傳控件的右邊定位至當(dāng)前鼠標(biāo)的位置;第二事件注冊單元,用于在所述默認(rèn)上傳控件中添加第二控制事件, 所述第二控制事件用于在所述默認(rèn)上傳控件的文本框中的值改變時觸發(fā),將所述改變的值添加至所述目標(biāo)文本框中; -第三事件注冊單元,用于在所述默認(rèn)上傳控件中添加第三控制事件,所述第三控制事件用于監(jiān)控當(dāng)前鼠標(biāo)的位置是否在所述目標(biāo)按鈕的區(qū)域內(nèi),如果是,則依據(jù)當(dāng)前鼠標(biāo)的位置定位所述默認(rèn)上傳控件;如果否,則屏蔽所述默認(rèn)上傳控件;第四事件注冊單元,用于在所述默認(rèn)上傳控件中添加第四控制事件,所述第四控制事件用于在觸發(fā)所述默認(rèn)上傳控件的按鈕時觸發(fā),將當(dāng)前焦點(diǎn)定位至所述目標(biāo)文本框中。
6、 如權(quán)利要求5所述的裝置,其特征在于,所述目標(biāo)按鈕具有顯示 的樣式屬性。
7、 如權(quán)利要求5所述的裝置,其特征在于,所述第一控制事件為 mouseover事件;所述第二控制事件為change事件;所述第三控制事件 為mousemove事件;所述第四控制事件為onclick事件。
全文摘要
本發(fā)明公開了一種瀏覽器的文件上傳控件的生成方法,包括在web頁面上生成web表單、目標(biāo)按鈕和目標(biāo)文本框,所述web表單中布置有瀏覽器默認(rèn)的文件上傳控件;在所述目標(biāo)按鈕中添加第一控制事件,所述第一控制事件用于在鼠標(biāo)進(jìn)入所述目標(biāo)按鈕的區(qū)域時觸發(fā),將所述默認(rèn)上傳控件的右邊定位至當(dāng)前鼠標(biāo)的位置;在所述默認(rèn)上傳控件中添加第二控制事件、第三控制事件和第四控制事件。本發(fā)明可以解決瀏覽器默認(rèn)的文件上傳控件不能改變的按鈕文字和樣式所導(dǎo)致的問題,并正確模擬默認(rèn)文件上傳按鈕的行為,能在不同瀏覽器上使用。
文檔編號G06F9/44GK101221501SQ20081000038
公開日2008年7月16日 申請日期2008年1月9日 優(yōu)先權(quán)日2008年1月9日
發(fā)明者梁廣智 申請人:金蝶軟件(中國)有限公司