Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 三级网站视频,91视频.com,在线免费观看你懂的

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          表單對象的提交與反饋

          分享成果,隨喜正能量】修學務早,及其精專,習與性成,不異自然也。值得我們用一生去學習的,就是學習什么該做,什么不該做,在自己心中畫個圈,干了出圈的事情,傷害的是自己。。

          《VBA信息獲取與處理》教程是我推出第六套教程,目前已經是第一版修訂了。這套教程定位于最高級,是學完初級,中級后的教程。這部教程給大家講解的內容有:跨應用程序信息獲得、隨機信息的利用、電子郵件的發送、VBA互聯網數據抓取、VBA延時操作,剪貼板應用、Split函數擴展、工作表信息與其他應用交互,FSO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數等等內容。程序文件通過32位和64位兩種OFFICE系統測試。是非常抽象的,更具研究的價值。

          教程共兩冊,八十四講。今日的內容是專題八“VBA與HTML文檔”:表單對象的提交與反饋

          第七節 HTML DOM的對象事件及關聯

          HTML DOM 允許 JavaScript(腳本語言) 對 HTML 事件作出反應,當事件發生時,如當用戶點擊一個 HTML 元素時,可以執行 JavaScript。一般來講這些事件包括:

          用戶點擊鼠標時;網頁已加載;圖片已加載;鼠標移動到元素上;輸入字段被改變;HTML 表單被提交;用戶觸發按鍵

          在我的第五套教程《VBA中類的解讀及應用》中我非常系統的講解了事件的含義,事件主要是對象的響應,我們這節就幾個實例給出幾個對象的常用響應有的是事件本身,有的是相關的操作。

          1 表單對象的提交與反饋

          表單form對象,有一個方法比較重要,就是submit,這個方法提供了表單的提交的動作。如果我們捕捉頁面的提交按鈕非常困難時,有時候只要對表單,執行submit方法,表單也是可以提交的,不需去點擊提交按鈕。

          表單控件,是文本輸入類控件,最常用就是value的屬性了,通過這個屬性,可以往文本框里面添加文本。

          單選框、復選框,常用的是checked屬性,如果為true就是被選中了,或者直接使用click方法也行。

          下拉列表,如果是單選列表框,可通過selectedIndex屬性去設置選中項(下拉選項,從1開始編號,如2就是選擇下拉列表的第二個選項),也可以通過value屬性,直接把value指定為要選定的option的value即可,但多選列表框不可用這兩個屬性。另外,所有類別的列表框,都可以通過其內含對象集合options(),設置某個options(x)的selected屬性為true,來設置選中項。

          還是以百度首頁為示例,我們用程序模擬鍵入查詢數據“VBA代碼解決方案”,然后提交查詢,在網頁中看看查詢的結果:

          Sub MYNZB() '在百度首頁,提交表單

          Dim ie, dmt, fm

          Set ie = CreateObject("InternetExplorer.Application") '創建一個IE對象

          With ie

          .Visible = True '顯示它

          .navigate "http://www.baidu.com" '加載某個頁面

          Do Until .ReadyState = 4 '等待頁面加載完畢

          DoEvents

          Loop

          Set dmt = .document '將IE瀏覽器加載的頁面文檔,賦予dmt變量

          Set fm = dmt.forms("f") '用表單的名稱f,捕捉表單對象

          dmt.all("kw").Value = "VBA代碼解決方案" '用搜索欄的id"kw"捕捉它,并鍵入VBA代碼解決方案

          dmt.all.tags("input")(3).Click '用"百度一下"按鈕的input索引號捕捉它,并模擬按鈕的點擊

          'fm.submit '模擬表單的提交,不一定要click

          End With

          End Sub

          代碼截圖:

          網頁返回的結果:

          2 Table 對象數據的獲取

          表格對象,也是我們提取網頁數據,最常打交道的對象了。其內含rows對象集合,可以使我們訪問表格內的每行,每個row對象還內含cells對象集合,使我們可以訪問其每行的每個單元格,讀取每個單元格的innertext屬性即可獲取我們所需每個單元格的文本。

          另外,常用的屬性還有length,這個類似我們VBA里面的count,都是返回某個對象的數量。

          如下面代碼是提取實時股票漲跌的代碼:

          Sub MYNZC()

          Sheets("Sheet1").Select

          Cells.Clear

          Dim ie, dmt, tb, i&, j&

          Set ie = CreateObject("InternetExplorer.Application") '創建一個IE對象

          With ie

          '.Visible = True '顯示它

          .navigate "http://vip.stock.finance.sina.com.cn/mkt/#hqIndex" '加載某個頁面

          Do Until .ReadyState = 4 '等待頁面加載完畢

          DoEvents

          Loop

          Set dmt = .document '將IE瀏覽器加載的頁面文檔,賦予dmt變量

          Set tb = dmt.all.tags("table")(4) '通過索引號捕捉表格對象

          For i = 0 To tb.Rows.Length - 1 '歷遍其每個行

          For j = 0 To tb.Rows(i).Cells.Length - 1 '歷遍每行的每個單元格

          Cells(i + 1, j + 1) = tb.Rows(i).Cells(j).innertext '將其innertext寫入單元格

          Next

          Next

          End With

          End Sub

          代碼截圖:

          返回的結果:

          4 圖片images對象地址的獲取

          為了提取網頁中的圖片,我們需要這個圖片的鏈接,我們看看下面的代碼:

          Sub MYNZD()

          Dim ie, dmt

          Set ie = CreateObject("InternetExplorer.Application") '創建一個IE對象

          With ie

          .Visible = True '顯示它

          .navigate "https://baijiahao.baidu.com/s?id=1633425158454774294" '加載某個頁面

          Do Until .ReadyState = 4 '等待頁面加載完畢

          DoEvents

          Loop

          Set dmt = .document '將IE瀏覽器加載的頁面文檔,賦予dmt變量

          Debug.Print dmt.images(1).src '讀取圖片的URL

          End With

          End Sub

          代碼截圖:

          5 Anchor 對象

          文檔中 <a> 標簽每出現一次,就會創建 Anchor 對象。這個就沒啥好示例的了,href屬性返回被鏈接的URL,click可以模擬超鏈接被點擊了。

          這節涉及到的內容較多,希望大家在 的基礎上修正代碼加以使用。

          本節知識點回向:

          如何提交表單?如何下載圖片的地址?如何獲得表的數據?

          本節參考文件:008工作表.xlsm

          我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中,教程學習順序:


          【分享成果,隨喜正能量】在外的好脾氣,是為人的圓滑,讓你收獲好人緣;在家的好脾氣,是最貴的修養,讓你你收獲最好的幸福!。

          一篇文章我們說了單選框、多選框以及下拉框的使用,今天呢我們繼續看一下表單剩下的常用控件:提交按鈕以及重置按鈕。

          (1)提交按鈕

          提交按鈕,顧名思義就是當我們填好了表單中的數據之后,我們需要通過提交按鈕來將數據傳遞到后臺的服務器中,供后臺程序使用。

          使用語法:<input type="submit" value="提交數據">

          詳細講解:

          1、type:只有當type值設置為submit時,按鈕才有提交作用,才能正常的進行表單的提交。(或者使用JavaScript代碼來觸發提交事件,這個到后期我們講解js的時候我進行介紹)

          2、value:按鈕上顯示的文字,顯示按鈕的名稱。

          (2)重置按鈕

          當用戶需要重置表單信息到初始時的狀態時,比如用戶輸入“用戶名”后,發現書寫有誤,可以使用重置按鈕使輸入框恢復到初始狀態。只需要把type設置為"reset"就可以。

          使用語法:<input type="reset" value="重置數據">

          詳細講解:

          1、type:只有當type值設置為reset時,按鈕才有重置作用,點擊按鈕會將form表單內的所有信息還原到初始未輸入的狀態。

          2、value:按鈕上顯示的文字,顯示重置按鈕的名稱

          使用練習:

          我們創建一個表單,數據我們以post的形式提交到百度首頁,表單里邊有姓名和年齡的輸入框,并且添加提交數據按鈕以及重置數據按鈕。具體代碼如下圖所示:

          在網頁中的顯示效果就如下圖所示:

          我們在姓名和年齡輸入框中輸入內容,點擊重置數據既可以清空里邊的內容,還原到初始狀態,點擊提交數據按鈕,那么數據將會提交到我們的指定鏈接處。


          以上呢就是表單最常用的一些控件了,接下來我們對學到的表單知識進行一次綜合的測試,我們來寫一個完整的表單包含我們學到的所有知識。

          我們在這里就寫一個網站制作常用的留言表,表格名稱就叫留言表,然后表中包含有姓名輸入框、性別單選框(默認選中男)、愛好多選框(默認選中第一個)、所在地區下拉框、留言內容多行文本框,以及提交信息按鈕和重置信息按鈕。數據提交呢我們還是提交到百度,提交類型我們使用post。具體的代碼如下圖所示:

          在網頁中的顯示效果就如下圖所示:

          好了,到了這里我們的第一個表單就算是做完了,到這有人就會問了,為什么別人的代碼在瀏覽器上看起來都是那么的規整,我這么寫完看著怎么這么丑,接下來的文章我們將為大家介紹css的知識了,學習了css你也可以將你的頁面做的高達上起來。最后大家看完一定要自己動手寫一寫,只有自己寫出的代碼才能體會到其中的樂趣,多加練習才是王道。


          每日金句:人生最大的喜悅是每個人都說你做不到,你卻完成它了!喜歡我的文章的小伙伴記得關注一下哦,每天將為你更新最新知識。

          、使用場景:

          安全性都一樣,都是發送的http協議。安全性與提交文件的業務處理(格式檢測,防注入)有關,與提交方式無關。

          一般登錄用表單提交,點擊提交觸發submit事件,一般會 使頁面發生跳轉,頁面的跳轉等行為的控制往往在后端,后端控制頁面的跳轉及數據的傳遞;但是某些時候不希望頁面跳轉,或者說想要將控制權放在前端,通過js來操作頁面的跳轉或數據變化,一般這種異步操作,都會使用ajax。

          但是Ajax會有個隱藏的問題,即瀏覽器不保存密碼,不符合用戶習慣。理想的方式:建立隱藏的iframe,把form標簽的target指向iframe,然后檢測iframe的狀態。

          2、比較:

          (1)ajax在提交、請求、接收時,都是異步進行,網頁不需要刷新,只刷新頁面局部,不關心也不影響頁面其他部分的內容。

          Form提交則是新建一個頁面,哪怕是提交給自己本身的頁面,也需要刷新,為了維持頁面用戶對表單的狀態改變,要在控制器和模板之間傳遞更多參數以保持頁面狀態。

          (2)ajax提交時,是在后臺新建一個請求。

          Form卻是放棄本頁面,然后再請求。

          (3)ajax必須要用js來實現,存在調試麻煩、瀏覽器兼容問題,而且不啟用js的瀏覽器,無法完成操作。

          Form表單是瀏覽器自帶的,無論是否開啟js,都可以提交表單。

          (4)ajax在提交、請求、接收時,整個過程都需要使用程序來對其進行數據處理。

          Form表單提交,是根據表單結構自動完成,不需要代碼干預。用submit提交。

          3、其他方面:

          關于輸入內容的校驗,ajax可以在獲取到元素內容用程序判斷;form表單的屬性中有校驗的字段,easyui,jeecg等中都封裝,用戶只需添加正則表達式的校驗規則。

          4、例:

          (1)使用form提交

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

          <html>

          <head>

          <title>login test</title>

          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

          </head>

          <body>

          <div id="form-div">

          <form id="form1" action="/users/login" method="post">

          <p>用戶名:<input name="userName" type="text" id="txtUserName" tabindex="1" size="15" value=""/></p>

          <p>密 碼:<input name="password" type="password" id="TextBox2" tabindex="2" size="16" value=""/></p>

          <p><input type="submit" value="登錄">&nbsp<input type="reset" value="重置"></p>

          </form>

          </div>

          </body>

          </html>


          主站蜘蛛池模板: 内射女校花一区二区三区| 国偷自产av一区二区三区| 北岛玲在线一区二区| 高清一区二区三区| 亚洲国产国产综合一区首页| 精品一区二区三区无码免费视频| 中文字幕无线码一区二区 | 人妻少妇一区二区三区| 中文字幕日韩一区二区三区不卡| 一区二区在线播放视频| 午夜一区二区免费视频| 亚洲av成人一区二区三区在线播放| 色婷婷一区二区三区四区成人网 | 亚洲美女一区二区三区| 亚洲日韩精品一区二区三区 | 国产免费一区二区三区不卡| 一区二区三区亚洲| 亚洲色婷婷一区二区三区| 韩国精品一区二区三区无码视频| 日韩人妻无码一区二区三区99| 一区二区三区中文字幕| 国产综合一区二区在线观看| 海角国精产品一区一区三区糖心 | 性无码免费一区二区三区在线| 国产成人精品无人区一区| 国产91精品一区| 国产品无码一区二区三区在线蜜桃| 精品女同一区二区三区免费播放 | 视频一区在线播放| 麻豆视频一区二区三区| 一区二区三区免费视频观看| 一区三区三区不卡| 无码人妻久久一区二区三区免费| 伊人久久大香线蕉av一区| 国产成人无码一区二区在线播放 | 99国产精品欧美一区二区三区| 久久青青草原一区二区| 亚洲福利视频一区二区| 无码成人一区二区| 日韩AV在线不卡一区二区三区| 国产激情一区二区三区 |