2010-11-05 16 views
7

Chấp nhận lời xin lỗi của tôi vì tôi trình độ tiếng Anh thấpNội dung trong textareas thiết lập để sử dụng nicEdit không được cập nhật để phản ánh người dùng thay đổi

tôi sử dụng để tải một trang với jQuery và tôi sử dụng nicEdit trong trang đó và tôi gửi dữ liệu ngay khác trang với jQuery. Nhưng nó chỉ gửi giá trị rỗng thay vì những gì người dùng đã viết trong trình soạn thảo (nếu tôi xác định giá trị mặc định cho vùng văn bản của tôi, nó chỉ gửi giá trị mặc định không phải là văn bản do người dùng viết). Vấn đề là gì và giải pháp là gì?

Cảm ơn.


CẬP NHẬT Sau khi đọc this related article và nhận xét của nó ở cuối và đọc bài viết khác tôi thấy phải sử dụng cách này trước khi submiting dạng:

nicEditors.findEditor('textarea_id').saveContent(); 

Đối với điều này tôi sử dụng jquery để chọn bất kỳ textarea và gọi .each() chức năng jquery. Ví dụ:

$('textarea').each(function(){ 
    var IDOfThisTextArea = $(this).attr('id'); 
    nicEditors.findEditor(IDOfThisTextArea).saveContent() 
}); 

Điều này làm việc tốt cho văn bản được tạo trước đó. Nhưng tôi có một số vùng văn bản được tạo động thông qua jQuery rằng chức năng findEditor() ở trên không tìm thấy chúng và không gọi số saveContent() cho những thứ đó.

Đối với vấn đề này, những gì bạn cung cấp ??????

tnx

+0

vui lòng thêm mã của bạn –

Trả lời

1

Câu trả lời cơ bản cho các yếu tố tự động tạo ra là sử dụng một cái gì đó giống như $('selector').on('click', function(...)) hoặc whathaveyou để tự động liên kết với các kích hoạt hành động, có rằng function cơ thể tìm thấy bất kỳ có liên quan .nice-wrapper textarea s (thông qua bộ chọn hợp lý) làm đối tượng jquery $textareas và trước khi thực hiện gửi

$textareas.each(function(){ 
    nicEditors.findEditor(this.id).saveContent(); 
}); 

sau đó sẽ cho phép bạn sử dụng một số phương pháp tiện lợi như .serializeArray. Rõ ràng, có nhiều cách khác nhau để giải quyết vấn đề này - ví dụ, có lẽ bạn muốn liên kết với sự kiện gửi biểu mẫu thay vì nhấp chuột vào nút - nhưng tôi nghĩ nhiều nhất (các giải pháp hợp lý nhất) vào cùng một danh mục chung.

3

gì về tiết kiệm tất cả các trường như thế này trước khi bạn gửi biểu mẫu

$('input[type=submit]').bind('click', function() { 
    for(var i=0;i<nicEditors.nicInstances.length;i++){ 
     nicEditors.nicInstances[i].saveContent(); 
    } 
}); 
Các vấn đề liên quan