HTML中表單form的相關知識

2020-12-20 站長之家

在Javascript 中,頁面上的每一對<form> 標記都解析為一個對象,即form 對象。可以通過document.forms 獲取以源順序排列的文檔中所有form 對象的集合。

如果一個表單對象定義如下:

<form name="frm1" method="post" action="login.aspx">

獲得該表單對象的方法:

  i>  document.forms["frm1"];   // 根據name屬性值
 ii>  document.forms[0];        // 根據索引號
iii>  document.frm1;            // 直接根據name值獲得對象

form 表單應該注意的屬性:

elements:獲取以源順序排列的給定表單中所有控制項的集合。<input  type="image" > 對象不在此集合內。

var txtName = myform.elements[0];         //獲得表單的第一個元素
var txtName = myform.elements["txtName"]; //獲得name屬性值為"txtName"的元素
var txtName = myform.elements.txtName;    //獲得name屬性值為"txtName"的元素

enctype:設置或獲取表單的多用途網際郵件擴展(MIME) 編碼。

這個屬性的默認值為:application/x-www-form-urlencoded

如果要上傳文件,則應該設置為:multipart/form-data

form 表單中的<label> 標記:

每一個表單元素的文字描述都應該使用<label> 標記!

該標記用於將文字綁定到對應的表單元素上,它的for 屬性指定它所要綁定的表單元素id 值。綁定後單擊該文字,滑鼠將聚焦到對應的文本框中或選中對應的選項。

若安裝了某些桌面主題,某些表單元素還會變換顏色來予以提示,這大大提高了用戶體驗。

示例代碼:

<form method="post" name="frm1">
    <label for="txt">點我將聚焦到文本框</label>
    <input type="text" id="txt" name="myname">
<br/>
    <label for="rdo">點我將選中單選框</label>
    <input type="radio" id="rdo" name="male"/>
<br/>
    <label for="cbo">點我將選中複選框</label>
    <input type="checkbox" id="cbo" name="hobby">
</form>

效果如下:

注意:

i >    每個表單元素應當儘量使用<label>標籤來提高用戶體驗;

ii >   每個表單元素應當分配 name 屬性  和 id 屬性。

name 屬性:用來將數據提交到伺服器;

id 屬性:用來在客戶端做相應的操作;如:<label>標籤的綁定、CSS 選擇器的使用等。

在客戶端,Javascript 對表單及表單元素的操作,更青睞於使用其name 屬性。

因為,對於某些特定的表單元素(如:單選按鈕等),使用其name 屬性更易於獲得元素值,也更方便向伺服器傳送數據!


Javascript 操作form 表單元素,比較少用的屬性:

defaultChecked 設置或獲取複選框或單選鈕的狀態。

defaultValue 設置或獲取對象的初始內容。

disabled 設置或獲取控制項的狀態。

提交表單

提交表單的示例:

 <form name="frm" method="post" action="javascript:alert('提交成功!');">
     <input type="button" value="提交功能"
            onclick="document.forms['frm'].submit();">
     <input type="button" value="禁用反覆提交"
            onclick="this.disabled=true; this.form.submit();">
  </form>

效果如下:

注意:

i >   如果使用submit( ) 方法來提交表單,則不會觸發<form> 表單元素的onsubmit 事件,

這是與用<input  type="submit">提交元素不同的地方;

ii >  可以在按鈕的提交或點擊事件中,使用disabled 屬性來禁用用戶反覆點擊提交按鈕的行為,

減少伺服器的響應負擔;

設置文本框

i > 控制文本框的字符個數

<script language="javascript">
function LessThan(_textArea){
    //返回文本框字符個數是否符號要求的boolean值
    return _textArea.value.length < _textArea.getAttribute("maxlength");
}
</script>
<label for="name">文本框:</label>
<input type="text" name="name" id="name" value="姓名" maxlength="10"></p>
<br>
<label for="comments">多行文本框:</label>
<textarea name="comments" id="comments" cols="40" rows="4" maxlength="50" onkeypress="return LessThan(this);"></textarea>

注意:多行文本框<textarea> 中的maxlength 為自定義屬性;如果在<textarea> 中輸入字符時,換行也算一個字符;

ii >  自動選中文本框

<script language="javascript">
window.onload = function(){
    var txtName = document.getElementsByName("myName")[0];
    txtName.onmouseover = function(){
       this.focus();
    };
    txtName.onfocus = function(){
       this.select();
    };
}
</script>
<INPUT TYPE="text" NAME="myName" value="默認值被選中" />

遵循了行為與結構分離的原則。

設置單選按鈕

獲取選中的單選按鈕& 設置單選按鈕被選中。代碼如下:

<script language="javascript">
//獲取選中項
function getChoice(){
    var oForm = document.forms["myForm1"];
    //radioName是單選按鈕的name屬性值
    var aChoices = oForm.radioName;
    //遍歷整個單選項表
    for(i=0;i<aChoices.length;i++)    
        if(aChoices[i].checked)    
            break; //如果發現了被選中項則退出
    alert("您選中的是:"+aChoices[i].value);
}
//設置選中項
function setChoice(_num){
    var oForm = document.forms["myForm1"];
    //radioName是單選按鈕的name屬性值
    oForm.radioName[_num].checked = true; //其它選項的checked值會自動設置為false
}
</script>
//調用代碼
<input type="button" value="獲取選中項" onclick="getChoice();" />
<input type="button" value="設置第1項被選中" onclick="setChoice(0);" />

需要保證同一組單選按鈕的name 屬性值相同即可。

相關焦點

  • html中form表單標籤的詳細介紹
    本篇將介紹的是html中form表單標籤的用法,有興趣的朋友可以學習一下!在html中,表單是經常用到的,用來與用戶交互並提交數據。今天要介紹的就是表單標籤form標籤,接下來我們就一起來看看它的用法吧!「form」作為英文單詞有「表格」的意思,那它在html中作為標籤又充當什麼樣的角色呢!
  • Django Form表單完整使用流程
    ,我們可以嘗試使用表單系統來實現這個功能了,在本節我們將匯總相關知識點,以此來講解如何使用 Form 表單系統完成實際功能的開發。表單系統重點知識回顧表單系統的核心是 Form 對象,它將表單中的欄位封裝成了一系列的 Field 和驗證規則,以此來自動生成 HTML 表達標籤。本節中首先使用 Form 對象實現書籍的搜索功能,然後再詳細講解 Form 對象的構成。那麼下面我們首先對前面學過的知識做一下簡單的重點知識回顧。
  • Django Form基於Model定義表單
    這個頁面中的表單欄位就需要與 Book 的 Model 定義相對應。利用 Form 對象並不難實現,只需要將 Model 中定義的欄位對應成 Form 的對象中的表單欄位就可以了,但是這時候也存在一個問題,就是如果這種需要對應的 Model 較多的時候,且 Model 中定義的欄位也較多,那麼重複實現這種表單的過程就會變成機械式的重複。1.
  • HTML+CSS:使用form表單控制項,與用戶交互
    今天這篇文章我們主要來看一下表單的控制項都有哪些,如何使用表單標籤,與用戶交互。(1)網站怎樣與用戶進行交互?答案是使用HTML表單(form)。表單是可以把瀏覽者輸入的數據傳送到伺服器端,這樣伺服器端程序就可以處理表單傳過來的數據。
  • 如何發送HTML表單數據
    示例 在下面的例子中,數據會發送至http://foo.com: <form action="http://foo.com">  這裡,數據會被發送到表單頁所在的伺服器,但到達的卻是伺服器上不同的URL: <form action="/somewhere_else">  如下,當不指定任何特性時
  • Python學習第224課——html表單
    這節我們學習html中另一個具有交互作用的元素--表單。我們在登錄一個網站的時候,需要輸入帳號密碼,這個區域其實就是用表單元素實現的。我們作為用戶輸入帳號密碼驗證碼之後,這些輸入的數據就會提交到伺服器的資料庫,然後伺服器會把資料庫中保存的你的帳號密碼跟你這次輸入的帳號密碼進行比較,如果一樣,就登陸成功,如果不一樣就登錄失敗。●html表單表單是一個包含表單元素的區域。
  • Django Form表單API詳解
    對上述功能進行詳細的講解,通過本節知識的學習,你會對 Django 表單系統有更加深入的認識,在本節中我們會穿插介紹一些小的應用實例以便於讀者更好的理解這些 API 。Form表單檢查數據綁定在《Django表單系統初體驗》中我們使用類的方式創建了一個登陸表單,並在視圖函數中,通過是實例化類對象,成功的創建了一張用戶登錄表單。
  • 曬碼姐講堂——創建Form表單實例
    任何一個伺服器腳本語言最常見的應用場景就是處理html表單,我們通過創建一個書店圖書的錄入實例開始學習PHP.<html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>書店圖書管理系統
  • 【專欄試讀】(03)③ HTML 表單詳解 | HTML
    前言:這一篇我們集中精力攻克一個知識點——表單。這個知識點在工作中用處很廣泛,不管是網頁還是 App,只要涉及到「註冊」,就會有它的身影,屬於必掌握項。1 「表單」的相關定義HTML 表單是一個可以用來輸入用戶信息的一個單子,它是一個包含「表單元素」的區域;「表單元素」是指:允許用戶在表單中(比如,文本域、下拉列表、複選框等等)輸入信息的元素;對於服務商(網頁、App 等運營者)來說,這個單子可以用來收集不同類型的用戶輸入。2 「表單」的實際運用及相關元素注釋<!
  • 由淺入深地聊聊html的表單
    今天和大家分享學習一下html的表單一、HTML標籤:表單標籤表單的概念:用於採集用戶輸入的數據的。用於和伺服器進行交互。1、form表單標籤他是用於定義表單的,本身並沒有什麼樣式,可以定義一個範圍,範圍代表採集用戶數據的範圍,通俗易懂的說就是 被他包裹的數據可以被提交給伺服器。
  • html中fieldset標籤詳細介紹
    本篇將介紹的是html中fieldset標籤的用法,有興趣的朋友可以學習一下!在html中,有很多我們不常用的標籤,但是在一些場景又很實用。今天將介紹的是一個很少使用的標籤,即fieldset標籤。fieldset標籤通常是用在表單中為相關元素分組,不知道大家使用過沒有,我們就一起拉看看它的具體用法吧!
  • HTML網頁表單製作詳細講解
    表單是一個網站和訪問者開展互動的窗口,我們現在就給大家介紹一下表單的一些基本知識和表單美化方法。表單元素實際用在HTML中的標籤有form、 input、 textarea、 select和option。表單標籤form定義的表單裡頭,必須有行為屬性action,它告訴表單當提交的時候將內容發往何處。 可選的方法屬性method告訴表單數據將怎樣發送,有get(默認的)和post兩個值。
  • html中按鈕標籤詳細介紹
    本篇將為大家介紹的是html中按鈕標籤<button>的用法,有興趣的朋友可以看看!在html中,<button>標籤也是很常用的,經常用來在頁面中添加按鈕。「button」作為英文單詞就有「按鈕」的意思,接下我們就一起來看看它的具體用法吧!
  • html中label標籤的詳細介紹
    本篇將介紹的是html中的<label>標籤的用法,由興趣的朋友可以了解一下!在網頁開發中,表單是經常用到的,而今天要介紹的這個標籤也是經常出現在表單中的,即<label>標籤,我們一起來看看它有什麼用途吧!
  • 前端入門須知:輕鬆學會form表單製作!
    1.表單標籤是指<form>標籤本身,它是一個包含表單元素的區域,使用<form></form>定義 2.表單域是<form>標籤中用來收集用戶輸入的每一項,通常用input標籤來定義,input
  • JavaScript之阻止form表單提交三種方式
    今天和大家分享一下,關於如何阻止form表單的提交。一、為什麼要阻止form表單的提交呢?以及使用場景我們在工作中,比如一個登錄頁面,當填完用戶登錄信息後,需要對用戶信息進行校驗,如果有問題,那麼就不應該將數據提交到後臺,而是在前臺阻止,接下來我們看一下,如何阻止form表單的幾種方式1、表單第一種阻止方式:form結合onclick事件來阻止form表單的提交<head><meta charset="UTF-8"
  • ASP.NET Mvc5表單Html輔助方法如何使用及對應的Html標記是什麼?
    微軟將Html語言中重要的表單標記封裝了起來,放在了System.Web.Mvc.Html命名空間中,這些封裝的方法稱為幫助方法或輔助方法,都是擴展方法。對於幫助方法,返回的類型都是MvcHtmlString,且第一個參數都是this HtmlHelper htmlHelper,從擴展方法的語法上看,這是要將該方法擴展到HtmlHelper類中。注意:C#中的擴展方法都是靜態方法,這是C#語言的規定。
  • HTML表單標籤基礎
    HTML表單一、傳統表單(一)1、表單是什麼?01.在網頁中主要負責數據採集功能的組件。03.由表單元素組成。07.文件域08.提交按鈕09.重置按鈕3、form 標籤 (表單範圍)...小結:01.form 標籤是表單本身。02.input 標籤是表單元素最常見的情況,它的 type 屬性是非常多樣化的,不同的 type 屬性值決定了 表單元素的類型。
  • python接口自動化15-multipart/form-data表單提交
    前言multipart/form-data這種格式官方文檔給的參考案例比較簡單,實際情況中遇到會比較複雜,本篇講解multipart
  • Django HTML表單實現用戶登錄退出(含源碼)
    HTML表單實現用戶的登錄通過前一節的學習,通過 HTML 表單並不難實現用戶的登錄功能,那麼大家先思考一下,用戶登錄的邏輯打開是怎麼樣的呢?分析這個邏輯,大家也可以去體驗一下其他網站的登錄功能,從用戶的註冊到登錄最後用戶退出,這整個的流程都需要大家細細的品味,並發現其中的規律,並且學以致用。當自己不熟練的時候,學會去借鑑其他人的經驗,往往是一個不錯的選擇。