者:東起
轉發鏈接:https://zhuanlan.zhihu.com/p/103763164
謂多行文本輸入控件,就是網頁表單中,因輸入內容較多需換行顯示的文本輸入控件,一般為textarea元素。很多富文本輸入框也是對textarea進行包裝。
<textarea name="Content" rows="8" style="width: 380px"></textarea>
多選文本輸入框
自動填寫多行文本輸入控件的五種方法
1、通過修改元素屬性填表
textarea元素比較特殊,在html中直接指定value屬性值是無效的。修改textarea元素的text屬性,可以實現自動填表,但要求textarea元素未被腳本賦值的情況下text才有效。修改text屬性不會觸發元素綁定的事件,但在木頭瀏覽器填寫項目中,可以明確指定填表前和填表后需要觸發的事件。
修改元素屬性
2、由系統向瀏覽器發送數據
在window系統下,這幾乎是一個萬能的方法,支持中文輸入,獲得控件元素后,填寫屬性設置為KeyboardSend。在自動輸入前,瀏覽器會自我激活為當前活動窗口,同時把輸入焦點轉移到設定的多行文本控件上。在輸入過程中,不能手工干預,不能讓控件失去焦點,也不能切換到別的程序窗口。輸入遠程會觸發控件綁定的事件代碼。
系統向瀏覽器發送內容
3、模擬人工鍵盤操作
獲取元素后,把填寫屬性設置為Keyboard,能達到人工按下實體鍵盤一樣的效果,因此不能輸入中文,執行時同樣會自動激活瀏覽器窗體,輸入焦點轉移到多選文本控件上。輸入過程中會觸發元素綁定的相關事件。
模擬人工按鍵
4、模擬鍵盤事件
在不按下鍵盤的情況下,直接產生按鍵事件作用于當前活動窗口,獲取元素后設置填寫屬性為KeyboardEvent。與模擬人工操作效果一樣,自動激活瀏覽器窗體,定位輸入焦點到多行文本控件上才能完成輸入,亦不支持中文輸入,會觸發元素控件綁定的腳本事件。
發送鍵盤事件
5、執行腳本代碼控制輸入
在項目管理窗口中,創建一個腳本代碼的步驟,執行JavaScript代碼修改textarea的value屬性值。注意:textarea雖然在html中沒有value屬性,但在JavaScript代碼中是支持的。不管textarea是否被賦初值,都不影響腳本執行填表效果。
document.getElementsByTagName("textarea")[0].value="木頭軟件";
也可以使用JQuery代碼,只要勾選【引入JQuery】,瀏覽器自動引用JQuery庫
$("textarea").eq(0).val("木頭軟件");
腳本填表多行文本框
執行以上腳本輸入內容后,不會觸發控件綁定的事件,如有必要,可以在代碼中主動調用相關的事件處理代碼。也可以再添加一個填表步驟項目來主動觸發事件代碼執行。
TML 屬性
HTML 標簽可以擁有屬性。屬性提供了有關 HTML 元素的更多的信息。
屬性總是以名稱/值對的形式出現,比如:name="value"。
屬性總是在 HTML 元素的開始標簽中規定。
屬性實例
HTML 鏈接由 <a> 標簽定義。鏈接的地址在 href 屬性中指定:
[demo]
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<a >
This is a link</a>
</body>
</html>
[/demo]
更多 HTML 屬性實例
屬性例子 1:
<h1> 定義標題的開始。
<h1 align="center"> 擁有關于對齊方式的附加信息。
[demo]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1 align="center">This is heading 1</h1>
<p>上面的標題在頁面中進行了居中排列。上面的標題在頁面中進行了居中排列。上面的標題在頁面中進行了居中排列。</p>
</body>
</html>
[/demo]
屬性例子 2:
<body> 定義 HTML 文檔的主體。
<body bgcolor="yellow"> 擁有關于背景顏色的附加信息。
[demo]
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html />
<meta http-equiv="Content-Language" content="zh-cn" />
</head>
<body bgcolor="yellow">
<h2>請看: 改變了顏色的背景。</h2>
</body>
</html>
[/demo]
屬性例子 3:
<table> 定義 HTML 表格。(您將在稍后的章節學習到更多有關 HTML 表格的內容)
<table border="1"> 擁有關于表格邊框的附加信息。
HTML 提示:使用小寫屬性
屬性和屬性值對大小寫不敏感。
不過,萬維網聯盟在其 HTML 4 推薦標準中推薦小寫的屬性/屬性值。
而新版本的 (X)HTML 要求使用小寫屬性。
始終為屬性值加引號
屬性值應該始終被包括在引號內。雙引號是最常用的,不過使用單引號也沒有問題。
在某些個別的情況下,比如屬性值本身就含有雙引號,那么您必須使用單引號,例如:
name='Bill "HelloWorld" Gates'
下面列出了適用于大多數 HTML 元素的屬性:
屬性 值 描述
class classname 規定元素的類名(classname)
id id 規定元素的唯一 id
style style_definition 規定元素的行內樣式(inline style)
title text 規定元素的額外信息(可在工具提示中顯示)
HTML 全局屬性
HTML 屬性賦予元素意義和語境。
下面的全局屬性可用于任何 HTML 元素。
HTML 全局屬性
屬性 描述
accesskey 規定激活元素的快捷鍵。
class 規定元素的一個或多個類名(引用樣式表中的類)。
contenteditable 規定元素內容是否可編輯。
contextmenu 規定元素的上下文菜單。上下文菜單在用戶點擊元素時顯示。
data-* 用于存儲頁面或應用程序的私有定制數據。
dir 規定元素中內容的文本方向。
draggable 規定元素是否可拖動。
dropzone 規定在拖動被拖動數據時是否進行復制、移動或鏈接。
hidden 規定元素仍未或不再相關。
id 規定元素的唯一 id。
lang 規定元素內容的語言。
spellcheck 規定是否對元素進行拼寫和語法檢查。
style 規定元素的行內 CSS 樣式。
tabindex 規定元素的 tab 鍵次序。
title 規定有關元素的額外信息。
translate 規定是否應該翻譯元素內容。
HTML 事件屬性
Window 事件屬性
針對 window 對象觸發的事件(應用到 <body> 標簽):
屬性 值 描述
onafterprint script 文檔打印之后運行的腳本。
onbeforeprint script 文檔打印之前運行的腳本。
onbeforeunload script 文檔卸載之前運行的腳本。
onerror script 在錯誤發生時運行的腳本。
onhaschange script 當文檔已改變時運行的腳本。
onload script 頁面結束加載之后觸發。
onmessage script 在消息被觸發時運行的腳本。
onoffline script 當文檔離線時運行的腳本。
ononline script 當文檔上線時運行的腳本。
onpagehide script 當窗口隱藏時運行的腳本。
onpageshow script 當窗口成為可見時運行的腳本。
onpopstate script 當窗口歷史記錄改變時運行的腳本。
onredo script 當文檔執行撤銷(redo)時運行的腳本。
onresize script 當瀏覽器窗口被調整大小時觸發。
onstorage script 在 Web Storage 區域更新后運行的腳本。
onundo script 在文檔執行 undo 時運行的腳本。
onunload script 一旦頁面已下載時觸發(或者瀏覽器窗口已被關閉)。
Form 事件
由 HTML 表單內的動作觸發的事件(應用到幾乎所有 HTML 元素,但最常用在 form 元素中):
屬性 值 描述
onblur script 元素失去焦點時運行的腳本。
onchange script 在元素值被改變時運行的腳本。
oncontextmenu script 當上下文菜單被觸發時運行的腳本。
onfocus script 當元素失去焦點時運行的腳本。
onformchange script 在表單改變時運行的腳本。
onforminput script 當表單獲得用戶輸入時運行的腳本。
oninput script 當元素獲得用戶輸入時運行的腳本。
oninvalid script 當元素無效時運行的腳本。
onreset script 當表單中的重置按鈕被點擊時觸發。HTML5 中不支持。
onselect script 在元素中文本被選中后觸發。
onsubmit script 在提交表單時觸發。
Keyboard 事件
屬性 值 描述
onkeydown script 在用戶按下按鍵時觸發。
onkeypress script 在用戶敲擊按鈕時觸發。
onkeyup script 當用戶釋放按鍵時觸發。
Mouse 事件
由鼠標或類似用戶動作觸發的事件:
屬性 值 描述
onclick script 元素上發生鼠標點擊時觸發。
ondblclick script 元素上發生鼠標雙擊時觸發。
ondrag script 元素被拖動時運行的腳本。
ondragend script 在拖動操作末端運行的腳本。
ondragenter script 當元素元素已被拖動到有效拖放區域時運行的腳本。
ondragleave script 當元素離開有效拖放目標時運行的腳本。
ondragover script 當元素在有效拖放目標上正在被拖動時運行的腳本。
ondragstart script 在拖動操作開端運行的腳本。
ondrop script 當被拖元素正在被拖放時運行的腳本。
onmousedown script 當元素上按下鼠標按鈕時觸發。
onmousemove script 當鼠標指針移動到元素上時觸發。
onmouseout script 當鼠標指針移出元素時觸發。
onmouseover script 當鼠標指針移動到元素上時觸發。
onmouseup script 當在元素上釋放鼠標按鈕時觸發。
onmousewheel script 當鼠標滾輪正在被滾動時運行的腳本。
onscroll script 當元素滾動條被滾動時運行的腳本。
Media 事件
由媒介(比如視頻、圖像和音頻)觸發的事件(適用于所有 HTML 元素,但常見于媒介元素中,比如 <audio>、<embed>、<img>、<object> 以及 <video>):
屬性 值 描述
onabort script 在退出時運行的腳本。
oncanplay script 當文件就緒可以開始播放時運行的腳本(緩沖已足夠開始時)。
oncanplaythrough script 當媒介能夠無需因緩沖而停止即可播放至結尾時運行的腳本。
ondurationchange script 當媒介長度改變時運行的腳本。
onemptied script 當發生故障并且文件突然不可用時運行的腳本(比如連接意外斷開時)。
onended script 當媒介已到達結尾時運行的腳本(可發送類似“感謝觀看”之類的消息)。
onerror script 當在文件加載期間發生錯誤時運行的腳本。
onloadeddata script 當媒介數據已加載時運行的腳本。
onloadedmetadata script 當元數據(比如分辨率和時長)被加載時運行的腳本。
onloadstart script 在文件開始加載且未實際加載任何數據前運行的腳本。
onpause script 當媒介被用戶或程序暫停時運行的腳本。
onplay script 當媒介已就緒可以開始播放時運行的腳本。
onplaying script 當媒介已開始播放時運行的腳本。
onprogress script 當瀏覽器正在獲取媒介數據時運行的腳本。
onratechange script 每當回放速率改變時運行的腳本(比如當用戶切換到慢動作或快進模式)。
onreadystatechange script 每當就緒狀態改變時運行的腳本(就緒狀態監測媒介數據的狀態)。
onseeked script 當 seeking 屬性設置為 false(指示定位已結束)時運行的腳本。
onseeking script 當 seeking 屬性設置為 true(指示定位是活動的)時運行的腳本。
onstalled script 在瀏覽器不論何種原因未能取回媒介數據時運行的腳本。
onsuspend script 在媒介數據完全加載之前不論何種原因終止取回媒介數據時運行的腳本。
ontimeupdate script 當播放位置改變時(比如當用戶快進到媒介中一個不同的位置時)運行的腳本。
onvolumechange script 每當音量改變時(包括將音量設置為靜音)時運行的腳本。
onwaiting script 當媒介已停止播放但打算繼續播放時(比如當媒介暫停已緩沖更多數據)運行腳本
*請認真填寫需求信息,我們會在24小時內與您取得聯系。