<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    菠蘿三國

    大江東去,浪淘盡...
    隨筆 - 34, 文章 - 47, 評論 - 22, 引用 - 0
    數(shù)據(jù)加載中……

    學(xué)習(xí)EXT第九日(B):為一個表單填充或提交數(shù)據(jù)

    摘要:這個教程將指導(dǎo)你如何獲取數(shù)據(jù)到你的表單并將這些數(shù)據(jù)提交。
    Author: Shea Frederick
    Translater: pplboy
    Published: May 22, 2007
    Translater Date:May 30.2007

    這個教程使用了在getting started tutorial教程中使用過的 雇員信息編輯表單。如果你仍然不熟悉如何創(chuàng)建一個表單,你可以首先看一下這個例子。我建議下載用于這個例子的一段程序,這樣可能對你有一些幫助。你也可以找一個有效的例子。

    我們將經(jīng)歷使用表單的整個過程,從最初的從服務(wù)器獲取數(shù)據(jù)填入表單,到將數(shù)據(jù)返回給服務(wù)器。在后端我使用PHP和MySQL, 然而這個例子對于PHP和MySQL來說并不是特殊的,而是只要求你能夠從你的服務(wù)器讀取和輸出JSON數(shù)據(jù)。

    讓我們開始吧
    首先我們必須設(shè)置表單的url, 這是一個能獲得POST數(shù)據(jù)并將其寫進我們的數(shù)據(jù)庫的PHP腳本.


    var form_employee = new Ext.form.Form({
     ...
     url:'forms-submit-process.php',
     ...
    });
     我們的數(shù)據(jù)包含5個字段:id, name, title, hire_date和active,這些字段可以被取回并放置到一個數(shù)據(jù)存儲對象(Store)中。

    以下的程序構(gòu)造了一個數(shù)據(jù)存儲對象,在這個時候沒有數(shù)據(jù)被取回,我們的數(shù)據(jù)代理(Proxy)對象提交到一個PHP腳本,用來取回數(shù)據(jù)庫id為14的行 并將它轉(zhuǎn)換成一個JSON字符串。


    employee_data = new Ext.data.Store({
    proxy: new Ext.data.HttpProxy({url: 'forms-submit-getdata.php?id=14'}),
    reader: new Ext.data.JsonReader({},[ 'id', 'name', 'title', 'hire_date', 'active']),
    remoteSort: false
    });


    接下來要做的是設(shè)定我們的事件監(jiān)聽者來監(jiān)察什么時候數(shù)據(jù)被載入, 這個將保證我們不會在數(shù)據(jù)被載入之前填入表單。


    employee_data.on('load', function() {
     
     // data loaded, do something with it here...
       
    });
     當(dāng)數(shù)據(jù)被載入后,我們可以取回數(shù)據(jù)并用setValue方法將其填入表單。這里我們用getAt(0) 從我們的數(shù)據(jù)存儲對象里重新取回第一行數(shù)據(jù)(行zero)。


    注意:這里使用的表單和表單字段在getting started tutorial中有定義和解釋。


    employee_name.setValue(employee_data.getAt(0).data.name);
    employee_title.setValue(employee_data.getAt(0).data.title);
    employee_hire_date.setValue(employee_data.getAt(0).data.hire_date);
    employee_active.setValue(Ext.util.Format.boolean(employee_data.getAt(0).data.active));
     我們將要創(chuàng)建提交按鈕并添加到表單,記得給來源于表單字段的POST數(shù)據(jù)設(shè)定擴展參數(shù)。你將會發(fā)現(xiàn)通過行確定字段(id)對于讓php腳本找到需要更新的行非常有用,同時為了更好的判斷,還需要一個action判定。


    我還使用isValid參數(shù)來保證表單在提交前符合每一個字段的要求。


    form_employee.addButton('Save', function(){
     if (form_employee.isValid()) {
      form_employee.submit({
       params:{
        action:'submit',
        id:employee_data.getAt(0).data.id
       },
       waitMsg:'Saving...'
      }); 
     }else{
      Ext.MessageBox.alert('Errors', 'Please fix the errors noted.');
     }
    }, form_employee);

    form_employee.render('employee-form');
     讀取我們的數(shù)據(jù)
    現(xiàn)在我們來讀取數(shù)據(jù)


    employee_data.load();
     這樣真的能夠驚人簡單的創(chuàng)建一個可用的表單,與成對的服務(wù)器段腳本接合,就能夠?qū)?shù)據(jù)從數(shù)據(jù)庫獲取并寫入修改后的數(shù)據(jù)。這些服務(wù)端腳本可以簡單到只需幾行而已。

    接下來是什么?

    通常來說,API文件和例子對于學(xué)習(xí)怎么樣將表單改造成你所需要的形式來說是很不錯的途徑。

    posted on 2007-08-07 14:04 菠蘿 閱讀(1125) 評論(1)  編輯  收藏 所屬分類: EXT

    評論

    # re: 學(xué)習(xí)EXT第九日(B):為一個表單填充或提交數(shù)據(jù)[未登錄]  回復(fù)  更多評論   

    php的代碼呢?這是一個關(guān)鍵
    2008-09-19 08:01 | x
    主站蜘蛛池模板: 亚洲色欲色欲www在线丝| 4444www免费看| 一级A毛片免费观看久久精品 | 男人扒开添女人下部免费视频| 成人毛片100免费观看| 97在线免费视频| 扒开双腿猛进入爽爽免费视频| 免费va人成视频网站全| 亚洲成AV人片一区二区| 亚洲专区中文字幕| 亚洲a∨无码精品色午夜| 成全高清在线观看免费| 在线成人a毛片免费播放| 亚洲国产精品自在线一区二区| 欧美日韩亚洲精品| 亚洲Av无码乱码在线znlu| 亚洲乱码一二三四区麻豆| free哆拍拍免费永久视频| 无人影院手机版在线观看免费| 亚洲人成色7777在线观看不卡| 亚洲国产韩国一区二区| 一级毛片在播放免费| 在线免费观看一级片| 爱爱帝国亚洲一区二区三区| 99xxoo视频在线永久免费观看| 国产又大又长又粗又硬的免费视频| 免费A级毛片无码久久版| 一本岛v免费不卡一二三区| 亚洲av片劲爆在线观看| 久久国产一片免费观看| 四虎在线播放免费永久视频 | 亚洲国产精品无码av| 67pao强力打造高清免费| 亚洲精品第一综合99久久| 无码国产精品一区二区免费模式| 一本色道久久88综合亚洲精品高清| 久久精品国产亚洲AV蜜臀色欲| 国产精品美女自在线观看免费 | 亚洲AV综合色区无码一区| 久久久精品视频免费观看| 久久久无码精品亚洲日韩蜜臀浪潮|