文章目錄
用JavaScript來操作表單,可以獲得用戶輸入的內容,或者對一個輸入框設置新的內容。
HTML表單主要的輸入控件
- 文本框 text
- 下拉框 < select >
- 單選框 radio
- 多選框 checkbox
- 隱藏域 hidden
- 密碼框 password
表單的目的:提交信息
HTML5新控件
值 | 描述 |
---|---|
color | 定義拾色器。 |
date | 定義日期字段(帶有 calendar 控件) |
datetime | 定義日期字段(帶有 calendar 和 time 控件) |
datetime-local | 定義日期字段(帶有 calendar 和 time 控件) |
month | 定義日期字段的月(帶有 calendar 控件) |
week | 定義日期字段的周(帶有 calendar 控件) |
time | 定義日期字段的時、分、秒(帶有 time 控件) |
定義用於 e-mail 地址的文本字段 | |
number | 定義帶有 spinner 控件的數字字段 |
range | 定義帶有 slider 控件的數字字段。 |
search | 定義用於搜索的文本字段。 |
submit | 定義提交按鈕。提交按鈕向服務器發送數據。 |
tel | 定義用於電話號碼的文本字段。 |
url | 定義用於 URL 的文本字段。 |
獲取值,設置值
獲得了一個節點的引用,就可以直接調用value獲得對應的用戶輸入值
<form action="psot">
<p>
<span>用戶名:</span><input type="text" id="username">
</p>
<p>
<span>性別:</span>
<input type="radio" name="sex" value="boy">男
<input type="radio" name="sex" value="girl">女
</p>、
</form>
<script>
var input_text =document.getElementById('username');
var boy_radio =document.getElementById('boy_radio');
var girl_radio=document.getElementById('girl_radio');
//得到輸入框的值
input_text.value
//設置輸入框的值
input_text.value='taoxian'
//這種方式可以應用於text、password、hidden以及select
//單選框和複選框的獲取值和設置值
//對於單選框和複選框,value屬性返回的永遠是HTML預設的值,而我們需要獲得的實際是用戶是否“勾上了”選項,所以應該用checked判斷
boy_radio.value//返回的永遠是HTML預設的值
boy_radio.checked //true或者false
boy_radio.checked=ture //賦值(被選中)
</script>
表單驗證(MD5驗證)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--MD5工具類 -->
<script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js"></script>
</head>
<body>
<!-- 通過表單綁定事件,提交表單來觸發 onsubmit:綁定一個提交檢測的函數
-->
<form action="https://blog.csdn.net/wpc2018?spm=1000.2115.3001.5343" method="post" onsubmit="return peng()">
<p>
<span>用戶名:</span><input type="text" id="username" name="username">
</p>
<p>
<span>密碼:</span><input type="password"id="input-password" >
</p>
<input type="hidden" id="md5-password" name="password">
<input type="submit" value="登錄">
<!-- 通過按鈕綁定事件,點擊按鈕來觸發
<button type="button" οnclick="cheng()">提交</button>
-->
</form>
<script>
function cheng(){
var uname = document.getElementById('username');
var pwd = document.getElementById('input-password');
var md5pwd = document.getElementById('md5-password');
md5pwd.value=md5(pwd.value);
return true;
}
</script>
</body>
</html>
注意到id爲md5-password的標記了name=“password”,而用戶輸入的id爲input-password的沒有name屬性。沒有name屬性的的數據不會被提交。