form表單 獲取與賦值

form表單中使用頻繁的組件: 文本框、單選框、多選框、下拉框、文本域
form通過getValues()獲取表單中所有name的值

通過setValues({key:values})給對應的name值進行賦值,其中key對應的name值

?

在給單選框和多選框賦值時,有幾個疑惑的地方:
  1. fieldName和name 是否必須一致 ?

???????? (fieldName刪除對結果沒什么影響,表單是通過name值去獲取值得)


??  2. name與子項的name 也一致是為何?
????? (個人理解

      通過getValues獲取值時是key:value,單選框和多選框子項有多個,獲取的value值時子項值的集合,而不能找到具體到對象

      此時要再進行一次key:value賦值,所以在代碼中賦值時就出現了,value.key = {key: value.key},
???????????????? 舉個例子:
??????????????????? var set_values = { radioName:0 };
??????????????????? 此時set_values是單選框獲取的值,是一個結果,要將其賦值必須先找到單選框對象,然后在定位到單選框子對象
??????????????????? 所以setValues(set_values) 其實單選框對象,而沒有具體到子對象,因此要再進行一次setValues
??????????????????? 轉換的格式就是:
??????????????????????? var set_new_values = {}
??????????????????????? var set_new_values.radioName = {
??????????????????????????? radioName: set_values.radioName
??????????????????????? }

??????????????????? form.setValues(set_new_values); ?
??????????????????? 此時就可以定位到單選框子對象

???? 多選框和單選框的邏輯是一直,區別只是單選框值只有一個,而多選框值時一個數組
  )

重復知識點:?

??? JSON.parse(jsonstr);????? //可以將json字符串轉換成json對象?

??? JSON.stringify(jsonobj); //可以將json對象轉換成json對符串

?

        Ext.onReady(function(){//Ext.Msg.alert("提示","hello world...")var ageStore = new Ext.data.Store({fields: ['text', 'id'],data: [{"id":18,"text":"18"},{"id":19,"text":"19"},{"id":20,"text":"20"},{"id":21,"text":"21"}],autoLoad: true});//1.創建一個form表單var formpanel = Ext.create("Ext.form.Panel",{title:"form表單獲取與賦值",width:650,height:250,border:true,renderTo:Ext.getBody(),items:[{xtype:"textfield",fieldLabel: "姓名",width:200,labelWidth:80,name:"UserName"}, {xtype:"textfield",fieldLabel: "手機號",width:200,labelWidth:80,name:"Tel"},{xtype: "combo",fieldLabel: "年齡", fieldName: "UserAge",name: "UserAge",labelWidth: 80,allowBlank: false,blankText: "年齡不能為空",autoFitErrors: true,mode: 'local',msgTarget: "side",store: ageStore, displayField: "text",valueField: "id"}, {xtype: "checkboxgroup",fieldLabel: "上課時間",labelWidth: 80,width: 600,name: "Weeks",fieldName: "Weeks",items: [{boxLabel: "星期一",name: "Weeks",inputValue: 1,checked: true}, {boxLabel: "星期二",name: "Weeks",inputValue: 2, }, {boxLabel: "星期三",name: "Weeks",inputValue: 3, }, {boxLabel: "星期四",name: "Weeks",inputValue: 4, }, {boxLabel: "星期五",name: "Weeks",inputValue: 5, }, {boxLabel: "星期六",name: "Weeks",inputValue: 6, }, {boxLabel: "星期日",name: "Weeks",inputValue: 0, }]}, {xtype: "radiogroup",width: 300,labelWidth: 80,fieldLabel: "上課/兼職",fieldName: "RadioTimeSpanType",name: "RadioTimeSpanType",items: [{ boxLabel: "去上課", name: "RadioTimeSpanType", inputValue: 0, checked: true },{ boxLabel: "去兼職", name: "RadioTimeSpanType", inputValue: 1}], listeners: {change: function(obj, newValue, oldValue, eOpts){// 單選事件   
                                }}}],buttons:[{text:"保存",handler:function(){var values = formpanel.getForm().getValues();// JSON.parse(jsonstr); //可以將json字符串轉換成json對象// JSON.stringify(jsonobj); //可以將json對象轉換成json對符串 document.getElementById("save_values").value = JSON.stringify(values);}}, {text:"清空",handler:function(){formpanel.getForm().reset();}}, {text:"自動填充",handler:function(){//獲取填充的值var values = document.getElementById("save_values").value ;if(values){//注意,獲取的值必須是json格式才可以var json_values = JSON.parse(values); //可以將json字符串轉換成json對象 //文本框和下拉框賦值就是key:value就可以//單選框和復選框有點不一樣// 將key:value值轉成key:{key:value}類型json_values.Weeks = {Weeks: json_values.Weeks}json_values.RadioTimeSpanType = {RadioTimeSpanType: json_values.RadioTimeSpanType}//賦值
                                    formpanel.getForm().setValues(json_values);}}} ]});});


//下面是body中顯示值的div
<div>
??????????? form的值:<br/>
??????????? <textarea id="save_values" style="width:700px; height: 100px;"> </textarea>
??????? </div>

?

轉載于:https://www.cnblogs.com/wind-wang/p/6690115.html

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

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

相關文章

Zabbix全方位告警接入-電話/微信/短信都支持

http://www.cnblogs.com/baidu-gaojing/p/5128035.html 百度告警平臺地址&#xff1a; http://gaojing.baidu.com 聯系我們&#xff1a; 郵箱&#xff1a;gaojingbaidu.com 電話&#xff1a;13924600771 QQ群&#xff1a;183806029 對于使用zabbix的用戶&#xff0c;要接入百度…

Spring MVC定制用戶登錄注銷實現示例

這篇文章描述了如何實現對Spring MVC Web應用程序的自定義用戶訪問&#xff08;登錄注銷&#xff09;。 作為前提&#xff0c;建議讀者閱讀這篇文章 &#xff0c;其中介紹了一些Spring Security概念。 該代碼示例可從Spring-MVC-Login-Logout目錄中的Github獲得。 它從帶有注釋…

HTML5與CSS3權威指南筆記案例1

第1章 <!DOCTYPE html> <meta charset "UTF-8"> <title> Search </title> <form> <p><label>Search&#xff1a;<input name"search" autofocus></label> </p> </form> <!DOCTYPE&…

java循環的概念_Java數據結構之循環隊列簡單定義與用法示例

本文實例講述了Java數據結構之循環隊列簡單定義與用法。分享給大家供大家參考&#xff0c;具體如下&#xff1a;一、概述&#xff1a;1、原理&#xff1a;與普通隊列的區別在于循環隊列添加數據時&#xff0c;如果其有效數據end maxSize - 1(最大空間)的話&#xff0c;end指針…

Unrecognized option: -jrockit

weblogic報錯&#xff1a; starting weblogic with Java version: Unrecognized option: -jrockit Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. Starting WLS with line: /data/jdk1.8.0_45/bin/java -jroc…

51nod 1105 第K大的數

基準時間限制&#xff1a;1 秒 空間限制&#xff1a;131072 KB 分值: 40 難度&#xff1a;4級算法題 數組A和數組B&#xff0c;里面都有n個整數。數組C共有n^2個整數&#xff0c;分別是A[0] * B[0],A[0] * B[1] ......A[1] * B[0],A[1] * B[1]......A[n - 1] * B[n - 1]&#x…

在Tomcat上設置和使用Apache Solr

前一陣子花了一點時間來玩Solr&#xff0c;但立即被我們可以在一些更大的數據集上獲得的性能所震撼。 這是我的一些初始設置和配置學習信息&#xff0c;也許可以幫助某人啟動它并更快地運行。 首先在Windows上進行設置。 下載并解壓縮Apache Tomcat和Solr&#xff0c;然后將其復…

sass變量

sass變量用法 1、sass變量必須以$符開頭&#xff0c;后面緊跟著變量名 2、變量值和變量名之間就需要使用冒號(:)分隔開&#xff08;就像CSS屬性設置一樣&#xff09; 3、如果值后面加上!default則表示默認值 默認變量 sass的默認變量&#xff1a;僅需要在值后面加上!defaul…

西安4年java多少時間_西安學習java一般要多久

線程小n行的任務/任務執的數單個量為間隔執行池大所需時間時間&#xff0c;西安學習的配置&#xff0c;西安學習行定行池務的務執c配在執注置任方法時任上標&#xff0c;下解行調問題務的方度任有以異步決辦采用法&#xff1a;上述式執。比如、般要多本名(套接套接5套t地地節點…

js 遞歸函數的使用及常用函數

1.遞歸函數的使用&#xff1a; 公園里有一堆桃子&#xff0c;猴子每天吃掉一半&#xff0c;挑出一個壞的扔掉&#xff0c;第6天的時候發現還剩1個桃子&#xff0c;問原來有多少個桃子 var peache;function peaches(n) { if (n 6) { peache 1; } else { …

redis分布式鎖-SETNX實現

轉自&#xff1a;https://my.oschina.net/u/1995545/blog/366381 Redis有一系列的命令&#xff0c;特點是以NX結尾&#xff0c;NX是Not eXists的縮寫&#xff0c;如SETNX命令就應該理解為&#xff1a;SET if Not eXists。這系列的命令非常有用&#xff0c;這里講使用SETNX來實現…

sql java驅動程序_Microsoft SQL Server JDBC 驅動程序支持矩陣

本頁包含 Microsoft SQL Server JDBC 驅動程序的支持矩陣和支持生命周期策略。Microsoft JDBC 驅動程序支持生命周期矩陣和策略Microsoft 支持生命周期 (MSL) 策略提供了與 Microsoft 產品的支持生命周期有關的可預測透明信息。 自驅動程序發布之日起&#xff0c;JDBC 驅動程序…

使用直接內存時可以更快

總覽 使用直接內存不能保證提高性能。 考慮到它增加了復雜性&#xff0c;除非有充分的理由使用它&#xff0c;否則應避免使用它。 塞爾吉奧奧利維拉&#xff08;Sergio Oliveira Jr&#xff09;的這篇出色文章表明&#xff0c;這不僅僅是使用直接內存來提高性能的問題&#x…

POJ 3977 折半枚舉

鏈接&#xff1a; http://poj.org/problem?id3977 題意&#xff1a; 給你n個數&#xff0c;n最大35&#xff0c;讓你從中選幾個數&#xff0c;不能選0個&#xff0c;使它們和的絕對值最小 如果有一樣的&#xff0c;取個數最小的 題解&#xff1a; np難題&#xff0c;但是因為…

java踩坑記

1.String 相等 稍微有點經驗的程序員都會用equals比較而不是用 &#xff0c;但用equals就真的安全了嗎&#xff0c;看下面的代碼 user.getName().equals("xiaoming"); 有經驗的老司機很快就能看到問題&#xff0c;如果user.getName()為null,就會拋出空指針異常&#…

java taken_java-是否有正確的方法在slf4j中傳遞參數?

第三變種是最好的。實際上&#xff0c;第一種情況是通過StringBuilder進行的字符串連接。第二和第三種情況相同。他們需要將整數值裝箱到Integer(或其他Object)&#xff0c;然后創建一個數組來打包它們。在我的機器上進行的簡單測試表明&#xff0c;如果不執行日志記錄&#xf…

html常用小知識

請求重定向&#xff1a;加載頁面之后&#xff0c;除了用js做重定向之外&#xff0c;我們還可以直接用<meta>標簽做重定向。 1 <meta http-equiv"refresh" content"5;urlhttp://www.baidu.com" /> 5秒后跳轉 超鏈接&#xff1a;在當前的iframe…

MyEclipse快捷鍵大全【轉】

-------------------------------------MyEclipse 快捷鍵1(CTRL)-------------------------------------Ctrl1 快速修復CtrlD: 刪除當前行 CtrlQ 定位到最后編輯的地方 CtrlL 定位在某行 CtrlO 快速顯示 OutLine CtrlT 快速顯示當前類的繼承結構 CtrlW 關閉當前Editer Ct…

根據您的命令-命令設計模式

命令設計模式是一種廣為人知的設計模式&#xff0c;它屬于行為設計模式&#xff08;“四人幫”的一部分&#xff09;。 顧名思義&#xff0c;它與應用程序中的動作和事件有關。 問題陳述&#xff1a; 假設有一個網頁將在其中包含多個菜單的情況。 編寫此代碼的一種方法是使條件…

用js和jQuery做輪播圖

Javascript或jQuery做輪播圖 css樣式 <style> a{ text-decoration:none; } .naver{ width: 100%; position:relative; }.images{position:relative;width: 100%;height: 400px; } .images img{position:absolute;left: 0;top: 0;width: 100%;height: 400px;opacity: 0;fi…