ich ein Skript haben, das ein Formular Panel erzeugt:ExtJS - Dynamisch erzeugen Felder in einer Formpanel existieren
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.')
}
});
}
}]
});
die gleichen Skripte dann eine JSON-Datei von meinem Server abruft, die eingegeben, wie viele definiert Felder, die Form sollte enthalten. Das Skript fügt dann diese Felder Form:
Ext.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;
}
});
Schließlich wird die Form auf die entsprechende Platte in meiner Schnittstelle hinzugefügt:
panel.add(form);
panel.doLayout();
Das Problem, das ich habe, ist: wenn ich das Formular durch Wenn Sie auf die Schaltfläche klicken, enthält die an meinen Server gesendete http-Anfrage keine Felder, die dem Formular hinzugefügt wurden. Mit anderen Worten, ich poste diese Felder nicht auf dem Server.
Wer weiß warum und wie könnte ich das beheben?
ich liebe dich. Vielen Dank. – Benjamin
@ Benjamin: Kein Problem. –