微信小程序中form 表單提交和取值實例詳解

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

我們知道,如果我們直接給 input 添加 bindinput,比如:<input bindinput="onUsernameInput" />,那么可以在 onUsernameInput 中直接使用 e.detail.value,即:

onUsernameInput : function(e) {e.detail.value;
}

但是,如果有多個輸入控件,我們不可能為每個控件添加 bindinput、bindchange 這類方法來獲取值。我們得這樣做:

第一步、添加 from 控件,并為其指定 bindsubmit 屬性值。
第二步、添加輸入控件到 form 中,并為其指定 name 屬性值。
第三步、添加 button 控件,并為其指定 form-type="submit"。
第四步、在 js 中取值時,用 e.detail.value.xxx 或 e.detail.value["xxx"],其中 xxx 為 name 屬性值。

.wxml 代碼

<form bindsubmit="reg"><view>用戶:<input type="text" name="username" /></view><view>密碼:<input password name="password" /></view><view>興趣:<checkbox-group name="cb"><label><checkbox value="A" />乒乓球</label><label><checkbox value="B" checked="false" />羽毛球</label><label><checkbox value="C" checked="{{checked}}" />排球</label></checkbox-group></view><view>級別:<radio-group name="r"><label><radio value="a" />初級</label><label><radio value="b" />中級</label><label><radio value="c" />高級</label></radio-group></view><view><button type="primary" form-type="submit">注冊</button></view></form>

.js 代碼

reg: function(e) {console.log(e.detail.value);wx.showToast({title: e.detail.value["cb"].join(","),icon: "success",duration: 2000});
}

重要說明

<input type="text" 中的 type 和 HTML 中的不同,

微信小程序的 input 有個屬性叫 type,這個 type 有幾個可選值:

text:不必解釋
number:數字鍵盤(無小數點)
idcard:數字鍵盤(無小數點、有個 X 鍵)
digit:數字鍵盤(有小數點)

注意:number 是無小數點的,digit 是有小數點的。我嚴重懷疑這是個 BUG。

<input password /> 表示密碼框(個人認為太怪異,不如直接叫 password 標簽的好)。

“羽毛球”那一項,我們是故意寫作 checked="false" 的,我們試圖使之初始不選中,但是不如我們愿,它卻選中了,這和 HTML 一樣,并不認 checked 屬性值,只認有沒有這個標記。不過如果我們使用 {{}} 則不一樣,比如“排球”一項,選中與否就受 data.checked 的影響。

input 的取值如前面所述,用 e.detail.value.xxx 或 e.detail.value["xxx"],其中 xxx 為 name 屬性。

checkbox 的取值也是類似 input,不過 xxx 為 checkbox-group 的 name,取出來的值是數組,由選中項的 value 組成,比如選中了“乒乓球”、“排球”,結果就是:["1", "3"]。特別說明,這個順序與我們選擇的先后有關,比如我們先選擇“排球”,再選擇“乒乓球”,結果就是["3", "1"]。

radio 的取值和 input 一樣,返回的是選中的那一項的 value,沒有選中項就是 ""。

如果不知道值類型,也可用 console.log(e.detail.value); 將所有值輸出來,然后在調試 Console 中觀察值,再來取。

轉載于:https://my.oschina.net/yanyaya/blog/1610907

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452943.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452943.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452943.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab如何用代碼導入文件_20+行Matlab代碼實現文件掃描

最近剛好看到一篇回答&#xff0c;用閾值二值化處理圖片水印&#xff0c;受到啟發寫此代碼。閾值二值化適合處理只有黑白兩色的圖片&#xff0c;考慮到文件蓋章&#xff0c;這里作者使用像素顏色替換及灰度值處理圖片&#xff0c;進一步提高處理精度和能力。我們需要&#xff1…

聊聊Code Review

轉載&#xff1a;https://richardcao.me/2016/09/30/Talk-About-Codereview/ 最近思考一個問題&#xff0c;如何進行高效的codereview&#xff0c;有沒有好的工具可以使用&#xff0c;于是花了兩三天時間在Google里淘了一番&#xff0c;這里留下記錄。 Phabricator 首屈一指的c…

項目管理十大趨勢

趨勢一、更多中國企業成立項目管理辦公室&#xff0c;項目管理辦公室也發揮更大的作用 在國內&#xff0c;仍有很多企業每年有成百上千的項目實施&#xff0c;而公司卻沒有成立項目管理辦公室&#xff0c;或者已經有了PMO&#xff0c;但是PMO仍在履行一些較為基礎的職能。 沒…

啟動django服務器報錯raise errorclass(errno, errval) django.db.utils.InternalError

問題描述&#xff1a; 啟動django服務器python manage.py runserver報錯: raise errorclass(errno, errval) django.db.utils.InternalError: (1366, “Incorrect string value: ‘\xE7\x94\xA8\xE6\x88\xB7’ for column ‘name’ at row 1”) 原因&#xff1a;與mysql數據庫…

java單例模式之線程安全問題

單例的目的是為了保證運行時Singleton類只有唯一的一個實例&#xff0c;用于一些較大開銷的操作。 餓漢式&#xff08;沒有線程安全問題&#xff09;: ‘ 由于使用static關鍵字進行了修飾&#xff0c;只能獲取到一個對象&#xff0c;從而達到了單例&#xff0c;并且在Singleton…

路由協議和路由算法的不同

網絡上的主機、路由器通過路由選擇算法形成路由表&#xff0c;以確定發送分組的傳輸路徑。而路由選擇協議是路由器用來完成路由表建立和路由信息更新的通信協議。

2003 r2 64 iis php mysql_關于在win2003中,iis+php+mysql 配置的問題

IIS中配置PHP服務器(iis6.0php5.2.6mysql)&#xff0c;步驟如下&#xff1a;1.我下的是php5.2.6_win32 &#xff0c;下載后&#xff0c;解壓到d:\phpwin下面2.然后從其中找到一個叫php.ini-recommended的文件,更名為php.ini3.打開該文件&#xff0c;找到extension_dir ".…

448. Find All Numbers Disappeared in an Array 尋找有界數組[1,n]中的缺失數

&#xff3b;抄題&#xff3d;&#xff1a; Given an array of integers where 1 ≤ a[i] ≤ n (n size of array), some elements appear twice and others appear once. Find all the elements of [1, n] inclusive that do not appear in this array. Could you do it with…

數據結構與算法--1.整型變量值互換

問題: 給定兩個整型變量a,b,在不使用其他變量的情況下&#xff0c;實現兩個變量值的交換。 """ 問題:整型變量值互換 給定兩個整型變量a,b,在不使用其他變量的情況下&#xff0c;實現兩個變量值的交換。 """ a 1234 b 5678 print("binar…

什么是真正的高清,你知道嗎?

摘要&#xff1a;高清&#xff0c;英文為“High Definition”&#xff0c;意思是“高分辨率”。一般所說的高清&#xff0c;有四個含義&#xff1a;高清電視&#xff0c;高清設備&#xff0c;高清格式&#xff0c;高清電影。 高清&#xff0c;英文為“High Definition”&#x…

oracle11g中SQL優化(SQL TUNING)新特性之SQL Plan Management(SPM)

1. 簡介 Oracle Database11gR1引進了SQL PlanManagement&#xff08;簡稱SPM&#xff09;&#xff0c;一套允許DBA捕獲和保持任意SQL語句執行計劃最優的新工具&#xff0c;這樣&#xff0c;限制了刷新優化器統計數據&#xff0c;已有應用改變&#xff0c;甚至數據庫版本升級帶…

Linux基本命令+Makefile

1.linux下查看進程占用cpu的情況(top)&#xff1b; 格式 top [&#xff0d;] [d delay] [q] [c] [S] [s] [i] [n] 主要參數 d&#xff1a;指定更新的間隔&#xff0c;以秒計算。q&#xff1a;沒有任何延遲的更新。如果使用者有超級用戶&#xff0c;則top命令將會以最高的優先…

數據結構與算法--2.數組的定位排序

問題&#xff1a; 給定一個數組A以及下標i&#xff0c;將數組元素進行調整&#xff0c;使得所有比A[i]小的元素排在前邊&#xff0c;接著是所有等于A[i]的元素&#xff0c;最后排列的是比A[i]大的元素 思路&#xff1a; 第一步&#xff1a;將數組分成兩部分&#xff0c;一部…

mysql語法題_mysql數據庫題語法練習

一、練習。導入下面sql執行語句/*數據導入&#xff1a;Navicat Premium Data TransferSource Server : localhostSource Server Type : MySQLSource Server Version : 50624Source Host : localhostSource Database : sqlexamTarget Server Type : MySQLTarget Server Version …

ipv4的不足

v地址基本耗盡&#xff0c;這是當前最棘手的問題v路由表越來越大v功能不足&#xff0c;缺少對多媒體信息傳輸的支持v缺少對高速傳輸的支持v缺少對安全的支持v缺少對主機漫游的支持

OpenGL開發庫的詳細介紹

OpenGL開發庫的組成 開發基于OpenGL的應用程序&#xff0c;必須先了解OpenGL的庫函數。它采用C語言風格&#xff0c;提供大量的函數來進行圖形的處理和顯示。OpenGL庫函數的命名方式非常有規律。所有OpenGL函數采用了以下格式<庫前綴><根命令><可選的參數個數&g…

thinkphp5運行原理_ThinkPHP5.1~5.2全版本遠程代碼執行高危漏洞預警

漏洞綜述關于ThinkPHPThinkPHP是一個快速、兼容而且簡單的輕量級國產PHP開發框架&#xff0c;其借鑒了國外很多優秀的框架和模式&#xff0c;包括使用面向對象的開發結構和MVC模式&#xff0c;融合了Struts的思想和TagLib(標簽庫)、RoR的ORM映射和ActiveRecord模式等。該框架常…

ASP.NET MVC中controller和view相互傳值的方式

ASP.NET MVC中Controller向view傳值的方式&#xff1a; ViewBag、ViewData、TempData單個值的傳遞Json匿名類型ExpandoObjectCookieViewModel(向普通View頁面傳個Model對象、向強類型頁面傳一個Model對象、用一個ViewModel對象解決所有問題)ASP.NET MVC中view向Controller傳值的…

自定義SeekBar 實時顯示百分比進度

進度下方實時顯示百分比進度禁止掉了SeekBar的滑動事件 詳情 githus地址

數據結構與算法--3.字符串的旋轉

題目&#xff1a; A是含有n個元素的數組&#xff0c;如果可以申請到最大內存&#xff0c;那么把A從位置i開始旋轉是比較簡單的。例如&#xff1a;A:a,b,c,d,e.其中i3,旋轉后的字符串A為&#xff1a;d,e,a,b,c要求設計一個時間復雜度為O(n),空間復雜度為O(1)的算法&#xff0c;…