本節JS關鍵詞有:function
、onsubmit
、onclick
、document.getElementsByTagName
(這些在前端開發中是常用的,所以必須掌握)
根據步驟一的頁面基礎上加入JS驗證表單事件,提升用戶體驗,也確保后端接收到的用戶提交的數據是預定的。
拿到需求的時候不要急著敲代碼,首先確認一下需要用的到知識點,理清思路,腦子里大概有個方案,特別是當下新技術天天新花樣的時代,我們更應該思路要時刻保持清晰,不管是原生的js還是jquery或者是其他前端框架,萬變不離其宗,只有穩固的js基礎,方能走天下。
下面原生JS驗證留言板表單的時候也是有多種方法可以實現的,這里用的是其中一個常用的,你能發現其他方法嗎,可以在評論區分享個大家,好東西,就是要分享的!~
方法:
-
1、確定觸發鼠標點擊事件方式,如
onclick
,onsubmit
,xxx.click(function(){})
等等(諸多驗證方式,需要你們日后慢慢發現,神奇的JS世界等著你);我給留言板submit按鈕添加了
onclick
事件,為了觸發checkform
函數激活表單驗證;然后又給了form標簽添加了onsubmit="return false;"
屬性,為了阻止form表默認的提交事件(阻止事件冒泡);具體看代碼并進行實踐試試看~
a、示例代碼片段<form name="feedback_form" action="/#" method="post" onsubmit="return false;">
-
2、定義JS函數;
a、函數命名以
function
開頭
b、選中表單元素用document.getElementsByTagName('input')
c、阻止冒泡(阻止表單提交,驗證成功才能提交)用return false;
d、腳本觸發表單提交用document.feedback_form.submit();
,feedback_form
為form表單的name名稱 -
3、submit標簽中綁定鼠標點擊事件觸發我們定義的JS函數,如表單submit標簽屬性加入
onclick="函數名"
a、示例代碼片段
<input type="submit" onclick="checkform()" value="提交您的留言" class="sub" />
完整代碼:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>留言板_科科分享</title>
<!-- 2.新建css樣式文件并根據效果圖編寫css代碼 -->
<link rel="stylesheet" href="feedback.css">
<!-- 3.js表單驗證 -->
<script type="text/javascript">
function checkform(){
var nickname = document.getElementsByTagName('input')[0].value; // 獲取用戶輸入的姓名
var tel = document.getElementsByTagName('input')[1].value; // 獲取用戶輸入的聯系方式
var content = document.getElementsByTagName('textarea')[0].value; // 獲取用戶輸入的留言內容
// 如果沒有輸入姓名 則提示
if(nickname == ''){
alert('請輸入您的姓名');
document.getElementsByTagName('input')[0].focus(); // 將光標定位到姓名輸入框
return false; // 阻止冒泡 輸入姓名后才能通過
}
// 如果沒有輸入聯系方式 則提示
if(tel == ''){
alert('請輸入您的聯系方式');
document.getElementsByTagName('input')[1].focus(); // 將光標定位到聯系方式輸入框
return false; // 阻止冒泡 輸入聯系方式才能通過
}
// 如果沒有輸入留言內容 則提示
if(content == ''){
alert('請輸入您的聯系方式');
document.getElementsByTagName('textarea')[0].focus(); // 將光標定位到留言內容輸入框
return false; // 阻止冒泡 輸入留言內容才能通過
}
document.feedback_form.submit(); // 提交用戶數據到后端action中的地址
}
</script>
</head>
<body>
<!-- 工作區,呈現給用戶看的 -->
<!-- 1.開始搭建腳手架 -->
<div class="container_box">
<div class="up">
<h3 class="title">留言板</h3>
<h5 class="subtitle">FEEDBACK</h5>
</div>
<div class="down">
<form name="feedback_form" action="/#" method="post" onsubmit="return false;">
<div class="input">
<input type="text" class="fl" name="name" placeholder="輸入您的姓名" />
<input type="text" class="fr" name="tel" placeholder="輸入您的聯系方式" />
</div>
<textarea class="content" cols="30" rows="10" name="nr"></textarea>
<input type="submit" onclick="checkform()" value="提交您的留言" class="sub" />
</form>
</div>
</div>
</body>
</html>
實踐,實踐,實踐。重要的事情喊三遍!!!
好啦,原生JS驗證我們的留言板就到這里,如你有其他驗證方式或者有什么疑惑,歡迎在評論區涂鴉!~