偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

盤點(diǎn)JavaScript 事件和方法提交那些事兒

開發(fā) 前端
提交表單時(shí),會(huì)觸發(fā) submit 事件,它通常用于在將表單發(fā)送到服務(wù)器之前對表單進(jìn)行校驗(yàn),或者中止提交,并使用 JavaScript 來處理表單。

[[415013]]

大家好,我進(jìn)階學(xué)習(xí)者。

一、前言

提交表單時(shí),會(huì)觸發(fā) submit 事件,它通常用于在將表單發(fā)送到服務(wù)器之前對表單進(jìn)行校驗(yàn),或者中止提交,并使用 JavaScript 來處理表單。

form.submit() 方法允許從 JavaScript 啟動(dòng)表單發(fā)送??梢允褂么朔椒▌?dòng)態(tài)地創(chuàng)建表單,并將其發(fā)送到服務(wù)器。

二、事件:submit

1. 提交表單主要有兩種方式。

第一種 :

點(diǎn)擊 <input type="submit"> 或 <input type="image">,

第二種 :在 input 字段中按下 Enter 鍵。

這兩個(gè)行為都會(huì)觸發(fā)表單的 submit 事件。

處理程序可以檢查數(shù)據(jù),如果有錯(cuò)誤,就顯示出來,并調(diào)用 event.preventDefault(),這樣表單就不會(huì)被發(fā)送到服務(wù)器了。

案例:

在文本字段中按下 Enter 鍵。點(diǎn)擊 <input type="submit">。

這兩種行為都會(huì)顯示 alert,而因?yàn)榇a中的 return false,表單不會(huì)被發(fā)送到別處。

  1. <form onsubmit="alert('submit!');return false"
  2.             First: Enter in the input field  
  3.         <input type="text" value="text"><br> 
  4.             Second: Click "submit": <input type="submit" value="Submit"
  5.         </form> 

2. submit 和 click 的關(guān)系

在輸入框中使用 Enter 發(fā)送表單時(shí),會(huì)在 <input type="submit"> 上觸發(fā)一次 click 事件。

這很有趣,因?yàn)閷?shí)際上根本沒有點(diǎn)擊。

例 :

  1. <form onsubmit="return false"
  2.  <input type="text" size="30" value="Focus here and press enter"
  3.  <input type="submit" value="Submit" onclick="alert('click')"
  4. </form> 

三、方法:submit

如果要手動(dòng)將表單提交到服務(wù)器,可以調(diào)用 form.submit()。

這樣就不會(huì)產(chǎn)生 submit 事件。這里假設(shè)如果開發(fā)人員調(diào)用 form.submit(),就意味著此腳本已經(jīng)進(jìn)行了所有相關(guān)處理。

有時(shí)該方法被用來手動(dòng)創(chuàng)建和發(fā)送表單,如下所示:

  1. <script> 
  2.             let form = document.createElement('form'); 
  3.             form.action = 'https://google.com/search'
  4.             form.method = 'GET'
  5.             form.innerHTML = '<input name="q" value="test">'
  6.             // 該表單必須在文檔中才能提交 
  7.             document.body.append(form); 
  8.             form.submit(); 
  9. </script> 

 

運(yùn)行結(jié)果:

重置表單

為< input >或< button >標(biāo)簽設(shè)置type=“reset"屬性可以定義重置按鈕。

  1. <inpu type="reset" value="重置"
  2. <button type="reset">重置</button> 

當(dāng)單擊重置按鈕時(shí),表單將被重置,所有表單字段恢復(fù)為初始值。這是會(huì)觸發(fā)reset事件。1

例:單擊【重置】按鈕,彈出提示,恢復(fù)文本框默認(rèn)值。

  1. <!DOCTYPE html> 
  2. <html> 
  3.     <head> 
  4.         <meta charset="UTF-8"
  5.         <title></title> 
  6.     </head> 
  7.     <body> 
  8.         <form id="form1" name="form1" method="post" action=""
  9.             <input type="text" name="t" id="t" /> 
  10.             <input type="reset"  name="重置"/> 
  11.         </form> 
  12.         <script> 
  13.             var t = document.getElementsByTagName("input")[0]; 
  14.             var f = document.getElementById("form1"); 
  15.             f.onreset = function(e){ 
  16.                 alert(t.value); 
  17.             } 
  18. </script> 
  19.     </body> 
  20. </html> 

 

 

 

 

 

運(yùn)行結(jié)果:

注:

在提交表單禁用提交按鈕的時(shí)候,應(yīng)該在“submit”事件添加事件處理函數(shù)。不要用click。

因?yàn)椴煌臑g覽器存在時(shí)差,有的瀏覽器會(huì)在觸發(fā)表單的submit事件之前觸發(fā)click事件,有的在這之后。

四、總結(jié)

本文基于JavaScript基礎(chǔ),介紹了 事件和方法提交, submit 和 click 的關(guān)系對比。通過案例的分析,在實(shí)際應(yīng)用需要注意的點(diǎn),遇到的問題,提供有效的解決方案。

歡迎大家積極嘗試,有時(shí)候看到別人實(shí)現(xiàn)起來很簡單,但是到自己動(dòng)手實(shí)現(xiàn)的時(shí)候,總會(huì)有各種各樣的問題,切勿眼高手低,勤動(dòng)手,才可以理解的更加深刻。

代碼很簡單,希望對你學(xué)習(xí)有幫助。

本文轉(zhuǎn)載自微信公眾號(hào)「前端進(jìn)階學(xué)習(xí)交流」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系前端進(jìn)階學(xué)習(xí)交流公眾號(hào)。

 

責(zé)任編輯:武曉燕 來源: 前端進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2024-06-25 12:52:40

JavaScript開發(fā)

2024-08-02 15:04:14

JavaScript服務(wù)器

2021-04-28 10:01:06

Python基礎(chǔ)項(xiàng)目

2021-04-07 10:02:51

Python字典Python基礎(chǔ)

2013-08-28 10:18:48

2012-12-28 10:26:08

山寨App抄襲

2022-11-04 07:57:59

編程編碼編譯器

2021-04-17 10:05:57

Python字符串Python基礎(chǔ)

2012-07-31 09:14:20

蘋果三星

2018-08-17 10:30:52

JavaDocker限制

2012-12-19 09:14:31

Linux

2013-12-26 14:23:03

定位系統(tǒng)GPS監(jiān)測

2021-06-09 13:28:40

密碼安全身份認(rèn)證數(shù)據(jù)安全

2018-09-26 06:50:19

2021-06-02 08:33:31

TPCTPC-H系統(tǒng)

2011-02-25 14:35:00

2022-02-08 17:39:04

MySQL服務(wù)器存儲(chǔ)

2013-01-18 09:26:58

2021-05-22 09:44:21

PythonNumpy數(shù)組Python矩陣

2021-08-30 10:25:48

JavaScript進(jìn)階操作前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)