Tôi đã có một kịch bản mà tạo ra một bảng điều khiển dạng:ExtJS - Tự động tạo ra các lĩnh vực trong FormPanel
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.')
}
});
}
}]
});
cùng kịch bản sau đó lấy ra một tệp json từ máy chủ của tôi trong đó xác định có bao nhiêu đầu vào các lĩnh vực hình thức mà nên chứa. Các kịch bản sau đó thêm các lĩnh vực này để có dạng:
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;
}
});
Cuối cùng, hình thức được bổ sung vào bảng điều khiển thích hợp trong giao diện của tôi:
panel.add(form);
panel.doLayout();
Vấn đề tôi có là: khi tôi gửi biểu mẫu bằng nhấp vào nút, yêu cầu http được gửi tới máy chủ của tôi không chứa các trường được thêm vào biểu mẫu. Nói cách khác, tôi không đăng các trường đó lên máy chủ.
Bất kỳ ai cũng biết tại sao và cách tôi có thể khắc phục điều đó?
tôi yêu bạn. cảm ơn. – Benjamin
@Benjamin: Không sao cả. –