老友記之PHP7留言板開發(fā)(JS驗證)

本節(jié)JS關(guān)鍵詞有:functiononsubmit述寡、onclickdocument.getElementsByTagName(這些在前端開發(fā)中是常用的,所以必須掌握)

根據(jù)步驟一的頁面基礎(chǔ)上加入JS驗證表單事件天吓,提升用戶體驗,也確保后端接收到的用戶提交的數(shù)據(jù)是預(yù)定的峦椰。

拿到需求的時候不要急著敲代碼龄寞,首先確認一下需要用的到知識點,理清思路汤功,腦子里大概有個方案物邑,特別是當下新技術(shù)天天新花樣的時代,我們更應(yīng)該思路要時刻保持清晰滔金,不管是原生的js還是jquery或者是其他前端框架色解,萬變不離其宗,只有穩(wěn)固的js基礎(chǔ)鹦蠕,方能走天下冒签。

下面原生JS驗證留言板表單的時候也是有多種方法可以實現(xiàn)的,這里用的是其中一個常用的钟病,你能發(fā)現(xiàn)其他方法嗎萧恕,可以在評論區(qū)分享個大家,好東西肠阱,就是要分享的票唆!~

方法:

  • 1、確定觸發(fā)鼠標點擊事件方式屹徘,如onclick走趋,onsubmitxxx.click(function(){})等等(諸多驗證方式噪伊,需要你們?nèi)蘸舐l(fā)現(xiàn)簿煌,神奇的JS世界等著你)氮唯;

    我給留言板submit按鈕添加了onclick事件,為了觸發(fā)checkform函數(shù)激活表單驗證姨伟;然后又給了form標簽添加了onsubmit="return false;"屬性惩琉,為了阻止form表默認的提交事件(阻止事件冒泡);具體看代碼并進行實踐試試看~
    a夺荒、示例代碼片段<form name="feedback_form" action="/#" method="post" onsubmit="return false;">

  • 2瞒渠、定義JS函數(shù);

    a技扼、函數(shù)命名以function開頭
    b伍玖、選中表單元素用document.getElementsByTagName('input')
    c、阻止冒泡(阻止表單提交剿吻,驗證成功才能提交)用return false;
    d窍箍、腳本觸發(fā)表單提交用document.feedback_form.submit();feedback_form為form表單的name名稱

  • 3和橙、submit標簽中綁定鼠標點擊事件觸發(fā)我們定義的JS函數(shù)仔燕,如表單submit標簽屬性加入onclick="函數(shù)名"

    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樣式文件并根據(jù)效果圖編寫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; // 獲取用戶輸入的聯(lián)系方式
                var content = document.getElementsByTagName('textarea')[0].value; // 獲取用戶輸入的留言內(nèi)容
                // 如果沒有輸入姓名 則提示
                if(nickname == ''){
                    alert('請輸入您的姓名');
                    document.getElementsByTagName('input')[0].focus(); // 將光標定位到姓名輸入框
                    return false; // 阻止冒泡 輸入姓名后才能通過
                }
                // 如果沒有輸入聯(lián)系方式 則提示
                if(tel == ''){
                    alert('請輸入您的聯(lián)系方式');
                    document.getElementsByTagName('input')[1].focus(); // 將光標定位到聯(lián)系方式輸入框
                    return false;  // 阻止冒泡 輸入聯(lián)系方式才能通過
                }
                // 如果沒有輸入留言內(nèi)容 則提示
                if(content == ''){
                    alert('請輸入您的聯(lián)系方式');
                    document.getElementsByTagName('textarea')[0].focus(); // 將光標定位到留言內(nèi)容輸入框
                    return false;  // 阻止冒泡 輸入留言內(nèi)容才能通過
                }
                document.feedback_form.submit(); // 提交用戶數(shù)據(jù)到后端action中的地址
            }
        </script>
    </head>
    <body>
        <!-- 工作區(qū)魔招,呈現(xiàn)給用戶看的 -->
        <!-- 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="輸入您的聯(lián)系方式" />
                    </div>
                    <textarea class="content" cols="30" rows="10" name="nr"></textarea>
                    <input type="submit" onclick="checkform()" value="提交您的留言" class="sub" />
                </form>
            </div>
        </div>
    </body>
</html>

實踐晰搀,實踐,實踐办斑。重要的事情喊三遍M馑 !乡翅!

好啦鳞疲,原生JS驗證我們的留言板就到這里,如你有其他驗證方式或者有什么疑惑蠕蚜,歡迎在評論區(qū)涂鴉尚洽!~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市靶累,隨后出現(xiàn)的幾起案子腺毫,更是在濱河造成了極大的恐慌,老刑警劉巖挣柬,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件潮酒,死亡現(xiàn)場離奇詭異,居然都是意外死亡邪蛔,警方通過查閱死者的電腦和手機急黎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人勃教,你說我怎么就攤上這事淤击。” “怎么了故源?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵遭贸,是天一觀的道長。 經(jīng)常有香客問我心软,道長,這世上最難降的妖魔是什么著蛙? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任删铃,我火速辦了婚禮,結(jié)果婚禮上踏堡,老公的妹妹穿的比我還像新娘猎唁。我一直安慰自己,他們只是感情好顷蟆,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布诫隅。 她就那樣靜靜地躺著,像睡著了一般帐偎。 火紅的嫁衣襯著肌膚如雪逐纬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天削樊,我揣著相機與錄音豁生,去河邊找鬼。 笑死漫贞,一個胖子當著我的面吹牛甸箱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播迅脐,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼芍殖,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谴蔑?” 一聲冷哼從身側(cè)響起豌骏,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎树碱,沒想到半個月后肯适,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡成榜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年框舔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡刘绣,死狀恐怖樱溉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情纬凤,我是刑警寧澤福贞,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站停士,受9級特大地震影響挖帘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜恋技,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一拇舀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜻底,春花似錦骄崩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至站楚,卻和暖如春脱惰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背窿春。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工枪芒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谁尸。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓舅踪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親良蛮。 傳聞我的和親對象是個殘疾皇子抽碌,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容

  • React中沒有類似Angular那樣的雙向數(shù)據(jù)綁定货徙,在做一些表單復(fù)雜的后臺類頁面時,監(jiān)聽皮胡、賦值痴颊、傳遞、校驗時編碼...
    tedyuen777閱讀 9,865評論 1 23
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5屡贺? 答:HTML5是最新的HTML標準蠢棱。 注意:講述HT...
    kismetajun閱讀 27,474評論 1 45
  • 表單基礎(chǔ)知識 在HTML中锌杀,表單是由 元素來表示的,而在JS中泻仙,表單對應(yīng)的則是HTMLFormElement類型糕再。...
    oWSQo閱讀 908評論 0 1
  • ??JavaScript 最初的一個應(yīng)用突想,就是分擔(dān)服務(wù)器處理表單的責(zé)任,打破處處依賴服務(wù)器的局面究抓。 ??盡管目前的...
    霜天曉閱讀 664評論 0 3
  • djnfdknfn nxjfjdkejr jfjfjfjcjfirri
    妖孽播播閱讀 124評論 0 0