Tôi đang sử dụng jQuery để đọc dữ liệu trong trang HTML. Trên trang đó, tôi có một phần tử <form>
chứa một số thẻ <input>
để người dùng nhập các giá trị của chúng.
Khi được khởi tạo, biểu mẫu này có một số giá trị mặc định cho các phần tử <input>
đó. Khi tôi gửi biểu mẫu này, tôi sử dụng phương thức html()
để nhận chuỗi HTML trạng thái hiện tại của trang này, nhưng tôi không lý do tại sao chuỗi kết quả này vẫn chứa giá trị cũ (giá trị đầu vào mặc định), chứ không phải giá trị mới.
Có cách nào để cập nhật hoặc duy trì giá trị do người dùng nhập vào các yếu tố <input>
trước khi gọi html()
không? Làm thế nào tôi có thể nhận được chuỗi có chứa giá trị mới nhất bằng cách sử dụng các phương pháp jQuery?
Cảm ơn bạn rất nhiều!jQuery: html() chức năng lấy dữ liệu cũ dưới dạng
Trả lời
Tuy nhiên, điều lạ là bạn đang cố gắng làm, nhưng tất cả những gì bạn cần là cập nhật thuộc tính giá trị của các phần tử biểu mẫu. Nó có thể được thực hiện với đoạn mã sau (đặt nó trong xử lý hình thức submit
):
$("form input").attr("value", function() {
return this.value;
});
Cảm ơn bạn rất nhiều. Trên thực tế, đề xuất của bạn không giúp tôi giải quyết vấn đề này, nhưng nó đã cho tôi một đầu mối để tiếp tục. Tôi đã thử bản demo bạn đã tạo trên jsfiddle, nó đã làm việc với jQuery 1.7.1, nhưng khi tôi hạ cấp nó xuống 1.5.2, nó gây ra lỗi^_ ^. Vì vậy, tôi nghĩ có lẽ có điều gì đó bí ẩn trong jQuery 1.5.2 mà tôi sẽ nghiên cứu sâu hơn. Tôi đã áp dụng đầu mối của bạn theo một cách khác: '$ (" đầu vào biểu mẫu ").attr ("defaultValue", function() { trả lại this.value; }); ' và nó hoạt động rất tốt! –
Theo mặc định chức năng jQuery html()
sẽ giữ gìn defaultValue
và defaultChecked
tính hơn là sử dụng các giá trị/lựa chọn hiện tại (giống như JavaScript innerHTML
). Để giải quyết vấn đề này, trước tiên bạn cần sử dụng jQuery prop()
: Read the Documentation on prop().
Ví dụ, với các mã:
<form action='/'>
<input type='radio' value='1' checked name='first' />
<input type='radio' value='2' name='first' />
<input type='checkbox' value='yes' />
<input type='text' value='Start Text' name='second' />
</form>
sau đó
$('form').html()
Sẽ luôn luôn ra rằng mã chính xác, bất kể những gì giá trị mà bạn đã thêm vào/chọn/sửa đổi.
Để khắc phục điều đó, chỉ cần chạy một chức năng để chuyển đổi các giá trị của phần tử để tính:
$("form input[type='radio']").each(function(){
if (this.checked){
$(this).prop("defaultChecked",true);
} else {
$(this).prop("defaultChecked",false);
}
});
$("form input[type='checkbox']").each(function(){
if (this.checked){
$(this).prop("defaultChecked",true);
} else {
$(this).prop("defaultChecked",false);
}
});
$("form input[type='text']").each(function(){
$(this).prop("defaultValue",$(this).val());
});
alert($(form).html()); //or var the_code = $(form).html();
Bây giờ bạn sẽ có HTML như trạng thái trang hiện tại của bạn được hiển thị nó.
Bit textarea là một chút khác nhau nếu bạn đang tìm kiếm cách để làm điều đó loại phần tử:
$("textarea").html(function() {
return this.value;
});
- 1. Chức năng gọi lại cho jQuery .html()?
- 2. Làm cách nào để có được giá trị dữ liệu HTML dưới dạng chuỗi với jQuery?
- 3. Nhận .csv tập tin dưới dạng dữ liệu trong chức năng thành công ajax
- 4. Cách lấy dữ liệu biểu mẫu dưới dạng đối tượng trong jquery
- 5. Tải Tài liệu Google dưới dạng HTML
- 6. Lấy dữ liệu ra khỏi chức năng tcltk
- 7. Lấy dữ liệu cũ trong PreUpdate Sonata Admin Bundle
- 8. đối tượng cửa hàng JSON trong thuộc tính số liệu dưới dạng HTML jQuery
- 9. Đối số chức năng truyền dưới dạng chuỗi ký tự?
- 10. Trả lại nội dung HTML dưới dạng chuỗi, cho trước URL. Chức năng Javascript
- 11. Vượt qua toàn bộ biểu mẫu dưới dạng dữ liệu trong hàm jQuery Ajax
- 12. hiển thị luồng nhị phân được lấy từ cơ sở dữ liệu dưới dạng "hình ảnh" bên trong html dưới dạng thẻ <img>
- 13. jquery - Cách lấy dữ liệu xml
- 14. Làm cách nào để lấy toàn bộ HTML của tài liệu dưới dạng chuỗi?
- 15. Mustachejs hiển thị đánh dấu html dưới dạng html
- 16. Chức năng nội suy dưới dạng PDF trong Mathematica
- 17. Tham chiếu dưới dạng đối số chức năng?
- 18. Lưu bảng HTML dưới dạng hình ảnh
- 19. JQuery lấy dữ liệu từ mảng JSON
- 20. cách chuyển nội dung của bảng html dưới dạng dữ liệu biểu mẫu trên POST?
- 21. Làm cách nào để xuất dữ liệu bảng html dưới dạng tệp .csv?
- 22. qtconsole không hiển thị khung dữ liệu gấu trúc dưới dạng html notebook_repr_html tùy chọn
- 23. Cách nhận dữ liệu POST dưới dạng mảng với C#
- 24. C chức năng # với dữ liệu tĩnh
- 25. Jquery lấy dữ liệu về lỗi XHR
- 26. Đọc danh sách SharePoint và đặt dữ liệu trên tệp HTML thông qua chức năng JavaScript
- 27. Haskell newtype, nhưng giữ chức năng cũ
- 28. Làm cách nào để lấy dữ liệu người dùng dưới dạng trong Symfony 1.2?
- 29. Lưu html5 Canvas dưới dạng Dữ liệu vào cơ sở dữ liệu mysql
- 30. Chức năng jQuery ajax trả về lỗi
đâu mã của bạn ..! –
Tại sao bạn cần * để nhận chuỗi HTML của trạng thái hiện tại của trang này *? – VisioN
Tại sao bạn sử dụng html để có được toàn bộ trang, có vẻ lạ. Bạn sẽ có thể chọn tất cả các giá trị từ biểu mẫu bằng cách sử dụng serialize nếu đó là những gì bạn đang theo dõi. –