段時間在租個后臺的項目,有兩處需要一鍵清空表單數(shù)據(jù)
一、表單篩選后,需要可以一鍵清空或者恢復初始化篩選條件
初始化查詢數(shù)據(jù):
1.在created鉤子深拷貝了一份數(shù)據(jù)模板:
這個時候this.defaultUserFormSearch已經(jīng)是this.userFormSearch沒改變之前的一個備份
2.在清空按鈕事件觸發(fā)后,再將備份的數(shù)據(jù)this.defaultUserFormSearch賦給this.userFormSearch
注意:這里一定還要是深拷貝,
this.userFormSearch = this.defaultUserFormSearch;(這種做法是錯誤的); 如果清空的時候不深拷貝備份的數(shù)據(jù)this.defaultUserFormSearch,那么this.defaultUserFormSearch將會和this.userFormSearch關(guān)聯(lián)上,
后面清空之后修改了this.userFormSearch會牽扯到this.defaultUserFormSearch也被修改,再去清空就會有問題
我們每個頁面查詢條件都很多,這里只是拿了最少的一個舉例子,如果查詢條件更多,我們清空的當然也可以采用下面的方式,
這種方式也可以,只不過當里面項目比較多的時候,我們也要寫好多代碼
或者我們直接把this.userFormSearch = {},我們status如果有默認值,那么這種暴力清除的方式也是不可以用的
二、我們編輯彈窗,取消后或者關(guān)閉后,同樣可以采用這種辦法來清空哦。
歡迎看到的同學或者前輩吐槽,或者告訴我還有更好的辦法~
轉(zhuǎn)自:麻麻怪大俠(https://www.cnblogs.com/mamaguai/p/8143391.html)
.HTML中表單元素的基本概念
HTML表單是HTML元素中較為復雜的部分,表單往往和腳本,動態(tài)頁面,數(shù)據(jù)處理等功能相結(jié)合,因此是制作動態(tài)網(wǎng)站很重要的內(nèi)容.
表單一般用來收集用戶的輸入信息
2.表單工作原理
訪問者在瀏覽有表單的網(wǎng)頁時,可填寫必需的信息,然后按某個按鈕提交,這些信息通過網(wǎng)絡傳送到服務器上.服務器上專門的程序?qū)@些數(shù)據(jù)進行處理,如果有錯誤會返回錯誤信息,并要求糾正錯誤.當數(shù)據(jù)完整無誤后,服務器反饋一個輸入完成的信息
3.表單的功能
功能:表單用于向服務器傳輸數(shù)據(jù),從而實現(xiàn)用戶與WEB服務器的交互表單能夠包含input系統(tǒng)標簽,比如文本字段,復選框,單選框,提交按鈕等表單還可以包含textarea,select,fieldset,label標簽.
4.表單的常用類型及說明
1.表單常用的類型有:
2.表單屬性:
3.文本輸入框(text):
當用戶要在表單中輸入字母,數(shù)字內(nèi)容時,就會用到文本域
代碼如下:
注意,表單本身并不可見.同時,在大多瀏覽器中,文本域的缺省寬度是20個字符.
在密碼域中輸入的字符,瀏覽器將使用項目符號來代替這些字符.
4.單選按鈕(radio):
當用戶從若干給定的選擇中選取一個選項時,就會用到單選框.
代碼如下:
用戶只能從眾多選擇中選取一個選項.當用戶點擊一個單選按鈕時,該按鈕會變?yōu)檫x中狀態(tài),其他所有按鈕會變?yōu)榉沁x中狀態(tài).
5.復選框(checkboxes)
當用戶需要從若干給定的選擇中選取一個或多個選項時,就會用到復選框
代碼如下:
用戶一次可以選擇多個選項.6.重置按鈕(reset)
重置按鈕會清除當前頁面上的用戶輸入的所有數(shù)據(jù),把當前頁面恢復到打開時的樣子.
代碼如下:
<form><p><input type="reset"></p></form>
7.提交按鈕
會在當前頁面生成一個提交按鈕,用戶點擊此按鈕,瀏覽器就會把當前頁面用戶輸入的數(shù)據(jù)傳送到服務端
代碼如下:
<form><p><input type="button" value="按鈕"/></p></form>
8.提交文件
當需要把客戶端的文件發(fā)送到服務端時,需要用到提交文件按鈕
代碼如下:
<form action="/index/" method="post"><p><input type="file"/></p></form>
上傳文件注意兩點: 請求方式必須是post enctype="multipart/form-data"
9.下拉菜單
當需要用戶從很多選項中選擇一個或多個選項時,也可以使用下拉列表.
代碼如下:
這樣的下拉列表,用戶只能從其中選擇一個選項,當需要用戶選擇兩個或以下時,可以添加參數(shù)來進行控制.代碼如下:
還可以在OPTION
中添加selected="selected"
選項來設(shè)置默認值.10.表單屬性
1.action屬性的說明:
使用action選項來指定服務端的腳本來處理被提交的表單
<form action="/index/" method="post">
如果省略action屬性,則action會被設(shè)置為當前頁面
2.method屬性的說明:
method屬性規(guī)定在提交表單時所用的http方法(POST或GET)
<form action="/index/" method="post">
或
<form action="/index/" method="get">
3.get方法或post方法的使用方式說明:
如果表單提交是被動的(比如搜索引擎查詢),并且沒有敏感信息.
當使用get方法時,表單的數(shù)據(jù)在頁面地址欄中是可見的
因此,get最適合少量數(shù)據(jù)的提交,瀏覽器會設(shè)定容量限制
如果表單正在更新數(shù)據(jù),或者包含敏感信息(比如密碼)時應該使用post,post的安全性更好.
因為在頁面地址欄中被提交的數(shù)據(jù)是不可見的.
切圖 qietu(.com)
多數(shù)PHP程序都使用HTML表單從用戶那里獲取數(shù)據(jù)并計算結(jié)果。
首先創(chuàng)造一個基本的HTML大綱,包含表單控件;然后將控件進行合并(HTML表單必須包括一個提交按鈕,用戶單擊它可以將表單數(shù)據(jù)發(fā)送到服務器。)一個單獨的HTML頁面可以包含多個表單。
包含表單的HTML結(jié)構(gòu)和和普通的HTML結(jié)構(gòu)一樣。
<HTML>
<HEAD>
<TITLE>標題放在這</TITLE>
</HEAD>
<BODY>
表單頁面放在這
</BODY>
</HTML>
在包含表單的HTML頁面中可以使用任何HTML標簽。基本的表單使用FROM標簽來說明。該標簽中METHOD屬性接收GET或POST兩個值中的一個。ACTION屬性子明PHP腳本的url,該腳本可以收集通過表單收集的數(shù)據(jù),可以是絕對路徑或者相對路徑。
<FORM METHOD="method" ACTION="url">
中間可以放置表單控件
</FORM>
兩個常用的基本控件:文本框和提交按鈕。
文本框:允許用戶鍵入信息以發(fā)送給PHP腳本。NAME屬性為文本提供名稱,PHP腳本可以通過名稱準確訪問其內(nèi)容,因此它應該是唯一的且符合PHP變量命名規(guī)則(但不需要$符號),單標簽。VALUE屬性指明出現(xiàn)在提交按鈕上面的標題。創(chuàng)建方式如下:
<INPUT TYPE = "TEXT" NAME="text">
提交按鈕:允許用戶將一個表單的內(nèi)容發(fā)送到服務器,一個HTML表單對應應該有一個提交按鈕。
示例:一個完整的HTML表單。
<HTML>
<HEAD>
<TITLE>標題</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data">
</FORM>
</BODY>
</HTML>
可以在一個HTML頁面中包含多個表單,注意下一個表單的FORM開始之前需要結(jié)束前一個FORM表單。
<HTML>
<HEAD>
<TITLE>標題</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data">
<BR/>
<BR/>
</FORM>
<FORM METHOD="POST" NAME="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name1">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email1">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data1">
</FORM>
</BODY>
</HTML>
文本框的屬性中,TYPE和NAME是必須的,其余是可選屬性。SIZE屬性用于設(shè)置文本框的可視大小;MAXLENGTH指明用戶鍵入字符的最大長度;VALUE給出了一個最初顯示在文本框中的值。
<input type="text" name="" size="" maxlength="" value="">
文本區(qū)域可以輸入多行文本。NAME和ROWS屬性是必須的。ROWS屬性表明了文本區(qū)域內(nèi)可以看到的文本行數(shù),充滿時會滾動。COLS屬性指明可見文本列數(shù)與行數(shù)類似。WRAP屬性指明文本區(qū)域內(nèi)單詞換行的方式,可以指定如下值。該標簽為雙標簽。
值 | 說明 |
off | 禁止單詞換行但用戶可以輸入換行符強制換行 |
virtual/soft | 各行顯示為換行,但是換行并沒有被發(fā)送到服務器 |
physica/hard | 啟用了單詞換行 |
<inputarea name="" rows="" cols="" wrap="">
創(chuàng)建密碼框的語法與文本框相同,但要將TYPE屬性指定為PASSWORD而不是TYPE。
<input type="password" name="" size="" maxlength="" value="">
取兩個值中的一個,即二選一。TYPE屬性是必須的,checked屬性出現(xiàn),該復選框默認情況會被選定。value屬性指定復選框被選定情況下被發(fā)送到服務器的值,默認發(fā)送on值。法如下:
<input type="checkbox" name="" checked value="">
語法與復選框?qū)傩院x相同,但是TYPE屬性的值必須是RADIO,NAME屬性是必須的。
<input type="radio" name="" checked value="">
用戶可以選擇一個或者多個選項,它是一個滾動菜單。
<select name="" multipile size="">options go here</select>
name屬性是必須的,multipile屬性指明用戶可以通過按下crtl鍵并單擊多個選項來選擇它們
列表框的單選行為可作為單選按鈕。
<option selected value="text"></options>
<input type="hidden" name="text"value="">
<input type="FILE" name="name" accept="time" value="text">
其中type屬性是必須的。格式通過使用MIME碼指定。常用的格式如下:
超文本標記語言文本 .html,.html text/html
普通文本 :txt text/plain
word文檔:application/msword
RTF文本 :rtf application/rtf
GIF圖形 :gif image/gif
JPEG圖形 :jpeg,
jpg: image/jpeg
au聲音文件:au audio/basic
MIDI音樂文件 :mid,.midi audio/midi,audio/x-midi
RealAudio音樂文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
壓縮文件.rar application/octet-stream
壓縮文件.zip application/x-zip-compressed
TAR文件 .tar application/x-tar
<input type="image" src="url" name="text" align="align">
<input type="reset" value="text">
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。