Tôi có một hình thức mà tôi có một radiogroup 'có', 'không'.extjs loại bỏ/readd textfield để tạo thành lỗi?
Khi tôi nhấp vào 'có' tôi đã thêm trường văn bản vào một fieldset trên biểu mẫu có tùy chọn cấu hình: allowBlank: false. Vì vậy, có xác nhận trên lĩnh vực này. Khi tôi nhấp vào 'không', tất cả các trường sẽ bị xóa khỏi fieldset hiện diện trên biểu mẫu.
Vấn đề là khi xác thực đang hoạt động, vì vậy khi bạn đi vào bên trong trường văn bản và bạn nhấp vào nó mà không nhập bất kỳ ký tự nào vào đó và tôi nhấp vào nút 'không' trường văn bản biến mất và cung cấp cho tôi lỗi sau khi tôi bắt nó:
Element.alignToXY với một yếu tố không tồn tại
khi tôi nhấp vào sau đó vào radiobutton 'có', textField được hiển thị một lần nữa nhưng tôi nhận được một lỗi:
TypeError: dom is undefined
Tôi có thể bắt gặp những lỗi này và không làm gì với nó bởi vì trên thực tế biểu mẫu có vẻ đang hoạt động, các trường văn bản đã được thêm vào và bị xóa như cần, chỉ có lỗi và tôi không thích khái niệm đó. Có ai có một đầu mối tại sao lỗi này xảy ra và làm thế nào để thoát khỏi nó để nó làm việc 100% đúng cách?
Dưới đây là một ví dụ về mã:
var radiogroup = new Ext.form.RadioGroup({
fieldLabel: 'Radio group test',
allowBlank: false,
anchor: '85%',
items: [{
boxLabel: 'Yes',
name: 'radio',
inputValue: 1
}, {
boxLabel: 'No',
name: 'radio',
inputValue: 2
}],
listeners: {
change: function (rg, radio) {
if (radio.inputValue == 1) {
var textfield_test = new Ext.form.TextField({
fieldLabel: 'Test',
allowBlank: false,
id: 'test',
name: 'test',
anchor: '85%',
width: 320,
helpText: 'test'
});
textfield_fieldset.insert(textfield_fieldset.items.length, textfield_test);
} else {
try {
txt_test = Ext.getCmp('test');
if (txt_test) {
textfield_fieldset.remove(txt_test);
}
textfield_fieldset.doLayout();
} catch (err) {
alert(err);
}
}
}
}
});
Có thể hữu ích hơn khi đặt một ví dụ hoàn chỉnh hơn với nhau trên jsfiddle.net và liên kết đến nó. – TML
Đây là một ví dụ. Chỉ cần loại bỏ một textfield từ một fieldset và thêm vào một fieldset trên formpanel ... Radiogroup nằm trong cùng một fieldfield_fieldset ... Bạn cần gì hơn? – Hein
Tôi cũng đang gặp sự cố này. Tôi cần phải tự động tạo FormPanel từ đầu khi có phản hồi AJAX, theo dữ liệu được trả về. Đáng buồn thay, lỗi này là hoàn toàn hủy hoại một nỗ lực khác thú vị. –