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

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

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

    菠蘿三國

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

    學習EXT第九日(B):為一個表單填充或提交數據

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

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

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

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


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

    以下的程序構造了一個數據存儲對象,在這個時候沒有數據被取回,我們的數據代理(Proxy)對象提交到一個PHP腳本,用來取回數據庫id為14的行 并將它轉換成一個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
    });


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


    employee_data.on('load', function() {
     
     // data loaded, do something with it here...
       
    });
     當數據被載入后,我們可以取回數據并用setValue方法將其填入表單。這里我們用getAt(0) 從我們的數據存儲對象里重新取回第一行數據(行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));
     我們將要創建提交按鈕并添加到表單,記得給來源于表單字段的POST數據設定擴展參數。你將會發現通過行確定字段(id)對于讓php腳本找到需要更新的行非常有用,同時為了更好的判斷,還需要一個action判定。


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


    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');
     讀取我們的數據
    現在我們來讀取數據


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

    接下來是什么?

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

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

    評論

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

    php的代碼呢?這是一個關鍵
    2008-09-19 08:01 | x
    主站蜘蛛池模板: 久久亚洲国产成人精品性色| 亚洲精品无码不卡在线播HE| 亚洲一久久久久久久久| 最近的中文字幕大全免费8| 亚洲成人免费在线| 伊人久久免费视频| 亚洲男人都懂得羞羞网站| 99精品免费观看| 亚洲欧洲视频在线观看| 免免费国产AAAAA片| 亚洲1234区乱码| 日韩一级免费视频| 黄色大片免费网站| 亚洲精品无码乱码成人| 国产精品免费高清在线观看| 精品亚洲A∨无码一区二区三区| 最近中文字幕免费2019| 亚洲AV成人无码天堂| 四虎永久在线精品免费影视| 无码毛片一区二区三区视频免费播放 | 亚洲国产精品综合久久20| 国产va免费精品观看精品 | 亚洲黄色一级毛片| 欧美a级在线现免费观看| 国产产在线精品亚洲AAVV| 亚洲综合色成在线播放| 污视频在线免费观看| 亚洲熟妇AV一区二区三区浪潮| 国产一区二区三区免费在线观看| 久久久久女教师免费一区| 亚洲专区在线视频| 免费观看毛片视频| 成人片黄网站色大片免费观看cn| 亚洲视频国产精品| 免费大学生国产在线观看p| 国产中文字幕在线免费观看| 91亚洲性爱在线视频| 亚洲高清最新av网站| 久久ww精品w免费人成| 日韩欧美亚洲国产精品字幕久久久| 亚洲色大成网站www永久一区|