2011-05-18 1 views
0

Actuellement, je suis confronté au problème suivant.Comment mettre à jour une fenêtre extjs sur son bouton cliquez sur

Je suis l'affichage après l'appel réussi de cette demande ajax.

function callDesignWindow(){ 
var serviceType = $("#serviceType").val(); 
alert(serviceType); 
var ptId = $("#pt_id").val(); 
alert(ptId); 
getAjaxPage({ 
    url : "/ajax/NewEform/design.do?serviceType=" + serviceType +"&ptId =" + ptId, 
    successCallback: function (data) { 
     showDesignWindow(data); 
    } 
});   
searchVisible = true; 

}

fonction showDesignWindow (HTMLData) {

alert(" In the show Design Window"); 

    var designWindow = new Ext.Window({ 
     title: "E-Form Design Phase", 
     width:650, 
     autoHeight: true, 
     id:'designWindow', 
     html: htmlData, 
     closable: false, 
     y: 150, 
     listeners: { 
      beforeclose: function() { 
       searchVisible = false;      
      } 
     }, 
     buttons: [ 
       { 
        text: 'Add Control', handler: function() { 
         saveFormControl(); 
        } 
       }, 
       { 
        text:'Customize', handler: function() { 
         designWindow.hide();        
         callCustomWindow(); 
        } 
       } 
       ] 
    }); 

    designWindow.show(this); 

}

{

alert(" add control button clicked"); 

    if (!validateEformData()) return false; 

    formname= $("#formname").val(); 
    alert(formname); 
    controlType= $("#controlType").val(); 
    alert(controlType); 
    label= $("#labelname").val(); 
    alert(label); 
    dataType= $("#dataType").val(); 
    required= $("#required").val(); 
    serviceType= $("#serviceType").val(); 
    ptId = $("#ptId").val(); 
    if(controlType == 3){ 
    var itemList = []; 
    $("#selectedItemLists option").each(function(){ 
     itemList.push($(this).val()); 
    }); 
    } 

    data = "eform_name=" + formname + "&control=" + controlType + "&serviceType=" + serviceType +"&ptId=" + ptId +"&labelName=" +label+ "&dataType=" +dataType+"&required="+required+"&items="+itemList; 

    alert(data); 

    $.ajax({ 
     type : "POST", 
     url : "/ajax/eformDetails/save.do", 
     data : data, 
     cache : false, 
     dataType : "text/html", 
     timeout: 40000, 
     error: function (xhr, err) 
     { 
      resolveAjaxError(xhr, err); 
     }, 
     success : function(data) { 
     // Ext.getCmp('designWindow').close(); 
      // showDesignWindow(data); 
     } 
    });  
saveFormControl() Fonction

}

Maintenant, sur appel réussi de l'appel ajax ("/ajax/eformDetails/save.do") je veux mettre à jour le designWindow et réinitialiser les valeurs.

aidez-moi s'il vous plaît.

+0

J'utilise les Extjs 3.3.1 – Satya

Répondre

0

Si vous voulez pouvoir manipuler notre designWindow après l'avoir déjà créé, vous devrez soit conserver une référence quelque part, soit profiter de la méthode Ext.getCmp (je recommanderais cette dernière. , dans votre fonction de succès:

success: function() { 
    var myWindow = Ext.getCmp('designWindow'); 
    //do whatever changes you would like to your window 
} 
Questions connexes