麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > HTML > 正文

html中form與表單提交操作的方法總結

2020-03-24 19:21:52
字體:
來源:轉載
供稿:網友
本文主要介紹了html中form元素與表單提交方面的知識,需要的朋友可以參考一下,希望能幫助到大家。

form元素

form元素的DOM接口是HTMLFormElement,繼承自HTMLElement,因而它與其他的HTML元素擁有相同的默認屬性,不過它自身還有幾個獨有的屬性和方法:


屬性值說明accept-charset服務器能夠處理的字符集,多個字符集用空格分割action接受請求的URL,該值可以被form元素中的input或button元素的formaction屬性覆蓋elements表單中所有控件集合(HTMLCollection)enctype請求的編碼類型,該值可以被form元素中的input或button元素的formenctype屬性覆蓋length表單中控件的數量method要發送的HTTP請求類型,通常是“get”或“post”,該值可以被form元素中的input或button元素的formmethod屬性覆蓋name表單的名稱reset()將所有表單域重置為默認值submit()提交表單target用于發送請求和接收響應的窗口名稱,該值可以被form元素中的input或button元素的formtarget屬性覆蓋autocomplete是否自動補全表單元素

input元素

input元素是應用非常廣泛的表單元素,根據type屬性值的不同,有以下幾種常用用法:

文本輸入 input type= text name=
提交輸入 input type= submit
單選鈕輸入 input type= radio name= 必須有相同的名字 value= 填的值最好對應
復選框輸入 input type= checkbox name= 相同的名字 value= 不同的對應值
數字輸入 input type= number min= max= 輸入框只能輸入數字,可設置最大值,最小值。
范圍輸入 input type= range min= max= 類似number,但它會顯示一個滑動條,而不是輸入框。
顏色輸入 input type= color 會彈出一個顏色選擇器。
日期輸入 input type= date 會彈出一個日期選擇器。
email輸入 input type= email 顯示為一個文本輸入框,并會彈出一個定制鍵盤。
tel輸入 input type= tel 跟email輸入類似
url輸入 input type= url 跟email輸入類似,也會彈出一個定制鍵盤。
textarea元素可以創建一個多行的文本區。
textarea name= id= cols= 30 rows= 10 /textarea
其中cols和row的屬性值分別表示文本區寬度和高度的字符。
select元素和option元素結合使用可創建一個下拉菜單。
select name= id= option value= /option option value= /option option value= /option /select

radio

如何 分組? 設置不同的 name屬性即可

例:

input type= radio name= favourite value= 玩游戲 玩游戲
input type= radio name= favourite value= 寫代碼 寫代碼

input type= radio name= sex value= man 男
input type= radio name= sex value= woman 女、
這就是兩組radio

placeholder

提供可描述輸入字段預期值的提示信息(hint)。
該提示會在輸入字段為空時顯示,并會在字段獲得焦點時消失。

type=hidden

定義隱藏的input。隱藏字段對于用戶是不可見的。隱藏字段通常會存儲一個默認值,它們的值也可以由 JavaScript 進行修改。
比如用于安全方面,給后臺傳輸用戶不可見的name 和value值,讓后臺做校驗,防偽造頁面。

提交按鈕

在form中加入一個提交按鈕,便可使用戶得以提交表單。

下列三種按鈕皆可在點擊時觸發表單的submit事件:

 input type= submit /  button type= submit /button  input type= image / 

規范中button元素的type默認值是submit,但是在IE678下默認值是button,所以從兼容考慮有必要為button元素手動加上type= submit 屬性。

submit事件

初心者可能會認為表單提交是提交按鈕的click事件觸發,其實不然,按鈕元素的click事件與表單的submit事件在不同的瀏覽器中執行順序不一,所以為了能準確控制表單提交事件,我們會選擇在表單的submit事件中執行驗證等操作。

form.addEventListener( submit , function (e) { if (valid()) { e.preventDefault()})

當form元素中沒有上述的三個按鈕中任何一個的時候,用戶將無法提交表單(回車鍵也無效),此時可以利用form元素特有的submit()方法執行提交表單,需要注意的是調用submit()方法并不會觸發form元素的submit事件,表單的驗證等操作應該在調用submit()方法之前。

if (valid()) { form.submit()}

表單提交與用戶體驗

基于現在流行的ajax+跨域POST(CORS)技術,我們很可能不使用form元素直接向服務器提交數據。這雖然可行,但在大多數情況下存在著體驗劣化現象。

JavaScript 表單驗證

JavaScript 可用來在數據被送往服務器前對 HTML 表單中的這些輸入數據進行驗證。

被 JavaScript 驗證的這些典型的表單數據有:

用戶是否已填寫表單中的必填項目?
用戶輸入的郵件地址是否合法?
用戶是否已輸入合法的日期?
用戶是否在數據域 (numeric field) 中輸入了文本?
必填(或必選)項目

下面的函數用來檢查用戶是否已填寫表單中的必填(或必選)項目。假如必填或必選項為空,那么警告框會彈出,并且函數的返回值為 false,否則函數的返回值則為 true(意味著數據沒有問題):

function validate_required(field,alerttxt)with (field)if (value==null||value== ) {alert(alerttxt);return false}else {return true}}

下面是連同 HTML 表單的代碼:

 html  head  script type= text/javascript function validate_required(field,alerttxt)with (field) if (value==null||value== ) {alert(alerttxt);return false} else {return true}function validate_form(thisform)with (thisform) if (validate_required(email, Email must be filled out! )==false) {email.focus();return false} /script  /head  body  form action= submitpage.htm onsubmit= return validate_form(this) method= post Email: input type= text name= email size= 30  input type= submit value= Submit  /form  /body  /html 

E-mail 驗證

下面的函數檢查輸入的數據是否符合電子郵件地址的基本語法。

意思就是說,輸入的數據必須包含 @ 符號和點號(.)。同時,@ 不可以是郵件地址的首字符,并且 @ 之后需有至少一個點號:

function validate_email(field,alerttxt)with (field)apos=value.indexOf( @ )dotpos=value.lastIndexOf( . )if (apos 1||dotpos-apos 2)  {alert(alerttxt);return false}else {return true}}

下面是連同 HTML 表單的完整代碼:

 html  head  script type= text/javascript function validate_email(field,alerttxt)with (field)apos=value.indexOf( @ )dotpos=value.lastIndexOf( . )if (apos 1||dotpos-apos 2)  {alert(alerttxt);return false}else {return true}function validate_form(thisform)with (thisform)if (validate_email(email, Not a valid e-mail address! )==false) {email.focus();return false} /script  /head  body  form action= submitpage.htm onsubmit= return validate_form(this); method= post Email: input type= text name= email size= 30  input type= submit value= Submit  /form  /body  /html 

快捷鍵提交

在沒有form元素包裹的情況下,即使當前頁面的焦點在表單元素上,按回車鍵也不會觸發表單提交,對于用戶而言,需要從鍵盤控制切換到鼠標/手勢控制,破壞了原有的流暢度。解決方法最簡單的就是在外層用一個form元素包裹,并且確定form元素中起碼有一個提交按鈕。此時當表單中的輸入域得到焦點時,用戶按回車鍵便會觸發提交。

瀏覽器記住賬號密碼

在提交表單時,高級瀏覽器包括移動端瀏覽器,會詢問用戶是否需要記住用戶賬號密碼,對于一般用戶而言,這是一個十分有用的特性,特別是在移動端,可以為用戶節省很多時間。在沒有form元素的情況下,瀏覽器不會彈出該詢問窗口。

我們在開發一個表單應用的時候,不應該嘗試去除form元素直接進行提交,在form元素中應該包含一個提交按鈕,如果是button元素,應該手動加上type= submit 屬性。提交事件的處理在form元素的submit事件中,而非提交按鈕的click事件。

相關推薦:

html中Form表單提交時頁面不跳轉的方法詳解

序列化form表單教程詳解

有關jquery中form表單序列化的一些問題指導

以上就是html中form與表單提交操作的方法總結的詳細內容,html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天天夜天天操 | 中文字幕爱爱视频 | 久久免费精品视频 | 天天夜夜操操 | 久久久久久久免费视频 | 久草久视频 | 久久9久久| 日韩在线播放一区二区 | 精品xxxx户外露出视频 | 2021狠狠操 | 欧美国产成人在线 | 日韩精品久久久久久久电影99爱 | 电影av在线| 人人舔人人射 | 在线看一区二区三区 | 亚洲激情91 | 91精品成人福利在线播放 | 91成人在线免费观看 | 国产精品1区| 国产成年人在线观看 | 久草在线视频免费播放 | 主播粉嫩国产在线精品 | 手机在线看片国产 | 国产毛片aaa一区二区三区视频 | 日本一道aⅴ不卡免费播放 视屏一区 | 国产亚洲精品成人 | 国产精品午夜未成人免费观看 | 国产一区二区三区手机在线 | 国产视频在线观看免费 | 欧美三级一级 | 中文国产在线视频 | 99精品国产在热久久婷婷 | 欧美一级小视频 | 在线看一级片 | 国产福利视频在线观看 | 最新黄色电影网站 | 成人免费一区二区三区视频网站 | 成人黄色网战 | 国产精品www | 国产色视频一区 | 欧美在线黄色 |