<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 菠蘿 閱讀(1132) 評論(1)  編輯  收藏 所屬分類: EXT

    評論

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

    php的代碼呢?這是一個關鍵
    2008-09-19 08:01 | x
    主站蜘蛛池模板: 亚洲色WWW成人永久网址| 亚洲国产成人精品无码区花野真一 | 久久久久国产成人精品亚洲午夜 | 国产免费AV片在线观看| 国内精品久久久久影院免费| 在线看片韩国免费人成视频| 我要看免费的毛片| 亚洲AV网站在线观看| 久久久久亚洲AV片无码下载蜜桃| 亚洲国产无线乱码在线观看| 国产麻豆成人传媒免费观看| 日韩一级视频免费观看| 久久精品国产亚洲| 亚洲av日韩专区在线观看| 午夜视频在线免费观看| 亚洲日韩在线观看| 中文文字幕文字幕亚洲色| 免费看一区二区三区四区| 国产精品国产午夜免费福利看| 久久精品a亚洲国产v高清不卡| 日韩大片免费观看视频播放| 在线观看免费人成视频| 色婷婷亚洲十月十月色天| 大片免费观看92在线视频线视频| h视频在线观看免费网站| 亚洲日韩欧洲无码av夜夜摸 | 成人免费a级毛片无码网站入口| 国产91精品一区二区麻豆亚洲 | 国产成人高清精品免费鸭子| 亚洲av无码成人黄网站在线观看| 污网站免费在线观看| 天天拍拍天天爽免费视频| 亚洲欧洲日本国产| 色欲国产麻豆一精品一AV一免费| 三上悠亚亚洲一区高清| 美女视频黄频a免费| 四虎成人精品一区二区免费网站| 亚洲国产综合精品| 91精品国产免费入口| 久久久久亚洲精品无码系列| 99麻豆久久久国产精品免费|