顯示具有 listeners 標籤的文章。 顯示所有文章
顯示具有 listeners 標籤的文章。 顯示所有文章

2022年10月26日 星期三

V20107 – 編輯畫面 – [件號]欄位離開時 , 自動取得件號名稱 - listeners - blur - event

 目的: V20107 – 編輯畫面 – [件號]欄位離開時 , 自動取得件號名稱  - listeners - blur

處理說明:   1>直接在[PN]宣告時,加入觸發 event blur
     {id: "PN", name: "PN", xtype: "textfield", width: 320, padding: "0 4 0 0", maxLength: 32,
                     listeners: {
       blur: function () {  //件號離開時,自動取得件號中文名稱 & 英文名稱
                           console.log("call PN on blur 2");
                         }

                    2> 於程式加入 eventhandler .on("blur", function(){});
                          Ext.getCmp('PN').on("blur", function (me, event, eOpts) {

                          });  // end of Ext.getCmp("PN").on("blur", function (me, event, eOpts) {  


1>*.js

id: "PN", name: "PN", xtype: "textfield", width: 320, padding: "0 4 0 0", maxLength: 32,
listeners: {
blur: function () {  //件號離開時,自動取得件號中文名稱 & 英文名稱
//public HttpResponseMessage get_PNNM(string PN)
      console.log("call PN on blur 2");
var Tmp_PN = Ext.getCmp('PN').getValue();
console.log("Tmp_PN:", Tmp_PN);
var Tmp_Sql;
if (checkisnull(Tmp_PN)) {
return;
}
var np = {};
Ext.Ajax.request({
     url: '../../api/V20107API/get_PNNM?PN=' + Tmp_PN,
method: 'POST',
            async: false,
//standardSubmit: true, // 非 Ajax 的方式  //若要傳送檔案至前端, standardSubmit必需設為 true 
      params: np,
success: function (response, opts) {
console.log("success response.responseText:", response.responseText);
var obj = Ext.decode(response.responseText);
console.log("obj:", obj);
if (obj["success"]) {
console.log(' 取得件號名稱 !!');
var Tmp_CNM = obj["CNM"];
var Tmp_ENM = obj["ENM"];
//mysuccessalert(Tmp_Str);
console.log("success=true , Tmp_CNM=", Tmp_CNM);
console.log("success=true , Tmp_ENM=", Tmp_ENM);
Ext.getCmp("CNM").setValue(Tmp_CNM);
Ext.getCmp("ENM").setValue(Tmp_ENM);
}
else {
Tmp_Str = "取得件號名稱失敗!! <br>"
+ obj["Rtn_Msg"];
mywarnalert(Tmp_Str);
}
},
failure: function (response, opts) {
var obj = Ext.decode(response.responseText);
console.log("obj:", obj);
Tmp_Str = "取得件號名稱失敗!! < br > "
+ obj["Rtn_Msg"];
mywarnalert(Tmp_Str);
} // end of failure 
});  // end of Ext.Ajax
}  //end  of blur
*/
}  // end of listeners


Ext.getCmp('PN').on("blur", function (me, event, eOpts) {
        console.log("call PN on blur 1");
        var Tmp_PN = Ext.getCmp('PN').getValue();
        console.log("Tmp_PN:", Tmp_PN);
        var Tmp_Sql;
        if (checkisnull(Tmp_PN)) {
            return;
        }
        var np = {};
        Ext.Ajax.request({
            url: '../../api/V20107API/get_PNNM?PN=' + Tmp_PN,
            method: 'POST',
            async: false,
            //standardSubmit: true, // 非 Ajax 的方式  //若要傳送檔案至前端, standardSubmit必需設為 true 
            params: np,
            success: function (response, opts) {
                console.log("success response.responseText:", response.responseText);
                var obj = Ext.decode(response.responseText);
                console.log("obj:", obj);
                if (obj["success"]) {
                    console.log(' 取得件號名稱 !!');
                    var Tmp_CNM = obj["CNM"];
                    var Tmp_ENM = obj["ENM"];
                    //mysuccessalert(Tmp_Str);
                    console.log("success=true , Tmp_CNM=", Tmp_CNM);
                    console.log("success=true , Tmp_ENM=", Tmp_ENM);
                    Ext.getCmp("CNM").setValue(Tmp_CNM);
                    Ext.getCmp("ENM").setValue(Tmp_ENM);
                }
                else {
                    Tmp_Str = "取得件號名稱失敗!! <br>"
                        + obj["Rtn_Msg"];
                    mywarnalert(Tmp_Str);
                }
            },
            failure: function (response, opts) {
                var obj = Ext.decode(response.responseText);
                console.log("obj:", obj);
                Tmp_Str = "取得件號名稱失敗!! < br > "
                    + obj["Rtn_Msg"];
                mywarnalert(Tmp_Str);
            } // end of failure 
        });  // end of submit
    });  // end of Ext.getCmp("PN").on("blur", function (me, event, eOpts) {