bir FormPanel alanları oluşturmak:Extjs - Dinamik olarak bir biçim paneli üreten bir senaryo var
var form = new Ext.FormPanel({
id: 'form-exploit-zombie-' + zombie_ip,
formId: 'form-exploit-zombie-' + zombie_ip,
border: false,
labelWidth: 75,
formBind: true,
defaultType: 'textfield',
url: '/ui/modules/exploit/new',
autoHeight: true,
buttons: [{
text: 'Execute exploit',
handler: function() {
var form = Ext.getCmp('form-exploit-zombie-' + zombie_ip);
form.getForm().submit({
waitMsg: 'Running exploit ...',
success: function() {
Ext.beef.msg('Yeh!', 'Exploit sent to the zombie.')
},
failure: function() {
Ext.beef.msg('Ehhh!', 'An error occured while trying to send the exploit.')
}
});
}
}]
});
aynı komut o zaman kaç girişini tanımlayan sunucumdan bir json dosyası alır form gerektiği alanlar içerirler. Daha sonra komut dosyası forma o alanları ekler:
Son olarak, biçim benim arayüzde uygun paneline eklenirExt.each(inputs, function(input) {
var input_name;
var input_type = 'TextField';
var input_definition = new Array();
if(typeof input == 'string') {
input_name = input;
var field = new Ext.form.TextField({
id: 'form-zombie-'+zombie_ip+'-field-'+input_name,
fieldLabel: input_name,
name: 'txt_'+input_name,
width: 175,
allowBlank:false
});
form.add(field);
}
else if(typeof input == 'object') {
//input_name = array_key(input);
for(definition in input) {
if(typeof definition == 'string') {
}
}
} else {
return;
}
});
: Ben sorundur
panel.add(form);
panel.doLayout();
: Ben formu ile gönderdiğinde Düğmeye tıklandığında, sunucuma gönderilen http isteği, forma eklenen alanları içermiyor. Diğer bir deyişle, bu alanları sunucuya yayınlamıyorum.
Bunu neden ve nasıl çözebileceğimi herkes biliyor mu?
Seni seviyorum. Teşekkürler. – Benjamin
@Benjamin: Sorun değil. –