BootStrap 智能表單系列 六 表單數據綁定(編輯頁面的數據綁定)


本章介紹如何在生成表單后,將一個model的數據展示到form表單中(一般用於編輯頁面)

代碼如下(連接地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/master/demo/form4-initData.html):

<!DOCTYPE html>
<html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>數據綁定</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="../css/bootstrap.css">
        <!--自定義站點樣式-->
        <link rel="stylesheet" href="../css/site.css">
        <script src="../lib/jquery.js"></script>
        <script src="../lib/bootstrap.js"></script>
        <!--工具方法-->
        <script src="../scripts/global.js"></script>
        <!--插件-->
        <script src="../scripts/plugin.js"></script>
    </head>
    
    <body>
        <div class="panel panel-default">
                <div class="panel-heading">
                    <label>數據綁定</label>
                    <div class="pull-right">
                        <button id="btnSubmit" class="btn btn-primary btn-xs">提交表單</button>
                    </div>
                </div>
                
            <div class="panel-body">
                <form action="#" id="formContainer" class="form form-horizontal"></form>
            </div>
        </div>
        <div class="panel panel-default">
            <div class="panel-heading"><label>介紹</label></div>
            <div class="panel-body">
                <h3 class="lead">表單數據綁定</h3>
                    <blockquote>
                        <p>將json格式的model綁定到表單中,此處使用模擬的model數據,實際環境中應該是與服務器交互取到數據,在配置對象的是需要一個回調方法,在回到方法里面可以做表單的一些其他操作,如添加表單驗證、添加日期插件的支持====</p>
                        <p>note:復選框的數據源為數組形式</p>
                    </blockquote>
            </div>
        </div>
        <script>
            $(function () {
                var eles=[
                    [
                      {label:{text:'自定義用戶名:'},ele:{type:'text',name:'UserName',title:'用戶名:',required:true}},
                      {ele:{type:'radio',name:'sex',title:'性別:',items:[{text:'男',value:1},{text:'女',value:2}]}},
                      {ele:{type:'checkbox', name:'plant',title:'使用平台:',items:[{text:'APP',value:'app'},{text:'web',value:'web'}]}}  
                    ],
                    [
                           {ele:{type:'select',name:'province',title:'省份:',withNull:true,items:[{text:'廣東',value:'GD'},{text:'湖南',value:'HN'}]}},
                           {ele:{pre:{text:'<input type="radio">'},type:'text',name:'displayName',title:'顯示名稱:'}},
                           {ele:{type:'search',title:'產品',id:'ProductName'}}
                    ],
                    [
                        {ele:{type:'datetime',name:'FromeDate',title:'有效期:'}},
                        {ele:{type:'datetime',name:'ToDate',title:'~'}},
                    ]
                ];
                //隱藏表單元素主要用於編輯時候后台可以區別開來
                var hides = [{ id: 'primaryKey' }];
                var bsForm = new BSForm({ eles: eles, hides: hides, autoLayout: '1,3' }).Render('formContainer',function(bf){
                    var model={primaryKey:1,UserName:'xxg',sex:1,plant:['app','web'],province:'GD',displayName:'TEST',ProductName:'筆記本',FromeDate:'2015-06-10',ToDate:'2015-08-08'}; bf.InitFormData(model);
                });
                
                $("#btnSubmit").bind('click',function () {
                    var postData=bsForm.GetFormData();
                    alert("獲取到的表達數據為:"+JSON.stringify(postData));
                })
            });
        </script>
    </body></html>

此處使用js創建了一個json類型的model,實際開發情況下 會跟服務器交互得到一個model,通過表單插件的InitFormData方法將model顯示到form表單中

效果圖如下:

定義的數據成功顯示到表單中,

note:針對復選框多選的情況下,需要返回的是一個數組

 

上一章:BootStrap 智能表單系列 五  表單依賴插件處理

下一章:BootStrap 智能表單系列 七 驗證的支持

本系列首頁:BootStrap 智能表單系列 首頁 (已完結)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM