表單操作
獲取表單
獲取表單元素
獲取表單元素的方式,大體上可以分為以下幾種方式:
1.Document物件提供的定位頁面元素的一系列方法
<form id=`myform` name=`myform` class=`login` action=`#`></form>
<script>
var formId=document.getElementById(`myform`);
var formName=document.getElementsByName(`myform`);
var formClass=document.getElementsByClassName(`login`)[0];
var formElement=document.getElementsByTagName(`form`)[0];
var formId2=document.querySelector(`#myform`);
var formElement2=document.querySelectorAll(`form`)[0];
</script>
2.Document物件提供了forms屬性
該屬性用於獲取當前HTML頁面中所有的表單的集合,返回HTMLCollection物件,該物件封裝了當前HTML頁面中的所有表單物件。
示例程式碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>獲取表單元素</title>
</head>
<body>
<form action="#">
<input type="submit">
</form>
<form name="myform" action="#">
<input type="submit">
</form>
<script>
//獲取當前HTML頁面中所有的表單元素
console.log(document.forms);
//document.表單名稱-有些新版本的瀏覽器不支援
console .log(document.myform);
</script>
</body>
</html>
獲取表單元件元素
HTMLFormElement物件的elements屬性
該屬性用於獲取指定表單的所有元件的集合。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>獲取表單元件元素</title>
</head>
<body>
<form action="#">
<input type="text" name="username">
<input type="submit">
</form>
<script>
var form = document.forms[0];
console.log(form.elements);
</script>
</body>
</html>
表單操作
文字內容的選擇
HTMLInputElement物件和HTMLTextAreaElement物件都提供了select()方法,該方法用於選擇當前文字框的所有文字內容。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文字內容的選擇</title>
</head>
<body>
<form action="#">
<input type="text" id="username" value="請輸入你的使用者名稱">
<input type="submit">
</form>
<script>
// HTMLInputElement物件
var username = document.getElementById(`username`);
// 繫結獲取焦點(focus)事件 - 失去焦點(blur)事件
username.addEventListener(`focus`,function(){
// select()方法 - 選擇當前輸入框中的所有文字內容(全選)
// username.select();
});
/*
select事件
* 只要選擇對應元素的文字內容時被觸發
* select()方法
*/
username.addEventListener(`select`,function(){
/*
HTMLInputElement物件
* selectionStart - 表示使用者選中文字內容的開始索引值
* selectionEnd - 表示使用者選中文字內容的結束索引值的下一個值
*/
console.log(username.selectionStart,username.selectionEnd);
var value = username.getAttribute(`value`);
var result = value.substring(username.selectionStart,username.selectionEnd);
console.log(result);
});
</script>
</body>
</html>