2012-08-02 32 views
5

Tôi đang cố đọc nội dung của vùng văn bản, nhưng .val() không hoạt động đối với vùng văn bản của tôi. Tôi sẽ hạnh phúc, nếu ai đó có một giải pháp cho tôi. Dưới đây là mã của tôi:JQuery: .val() không hoạt động cho textarea

HTML:

<textarea id="details" class="required" rows="5"></textarea> 

JS:

$.ajax({ 
     type: "GET", 
     url: "reserve.php", 
     data: { 
      details : $('#details').val(), 
      ... 
     }, 
     ... 
}); 

Cảm ơn bạn!

+0

Có lẽ bạn có một yếu tố khác có id = "chi tiết" trong trang của bạn? – Rodik

+0

.val() đang làm việc trên textareas, kiểm tra nếu chính tả của bạn là đúng và không có bất kỳ "," trên tham số cuối cùng – Ziinloader

+0

'.val()' hoạt động tốt theo nghĩa là giá trị thực của vùng văn bản được trả về. Xác định "không hoạt động"? –

Trả lời

5

val() hoạt động tốt ... Bạn phải có lỗi của mình ở nơi khác.

Example

lẽ chọn của bạn trong không phù hợp. Kiểm tra lỗi chính tả và nếu bạn áp dụng các tiền tố đúng (# cho ID hoặc . cho lớp)

+0

Cuối cùng là câu trả lời không sai! –

+0

không hoạt động có nghĩa là $ ('# details'). Val() trả lại giá trị 'undefined' – Trinityx89x

+1

@ user1571064 Sau đó, công cụ chọn của bạn không chính xác. '$ ('# details')' trả về một bộ sưu tập jQuery rỗng, và '.val()' do đó sẽ trả về 'undefined'. –

1

chi tiết: encodeURIComponent (. $ ('# Chi tiết') val())

5

Đây là một yêu cầu hợp lệ, như tôi đã có kinh nghiệm cùng một vấn đề chính xác này và có thể báo cáo như sau:

  • không - nó không phải là selector, một đối tượng có giá trị được trả về
  • không - chỉ có một phần tử với id này
  • không - có không có HTML không hợp lệ hoặc sử dụng thẻ xấu xa như tôi đã thấy

Có - có một câu trả lời đó không phải là một hack hoặc mã xấu:

$ ('# myTextArea') [0] .Value

2

Tôi đã gặp vấn đề tương tự. Giải pháp trong trường hợp của tôi là, có hai yếu tố với id "bình luận". jQuery trả về giá trị của cái đầu tiên, rỗng. Nếu tôi nhìn vào mã nguồn, tôi chỉ thấy một mã nguồn, kể từ khi mã thứ hai được thêm sau cuộc gọi AJAX. Nhưng khi được tìm kiếm trong thanh tra cho "bình luận" (bao gồm cả các dấu ngoặc kép) tôi thấy cả hai yếu tố. Tôi hy vọng điều này sẽ giúp bạn.

1

Thật lạ là tôi đã gặp phải sự cố tương tự khi cố gắng dọn sạch tất cả các văn bản. Nó không phải là một vấn đề chọn như tôi đã chọn tất cả các textareas trong trang với $ ('textarea'). Tôi thấy rằng những điều sau đây đã làm việc: $ ('textarea'). Văn bản ('');

Vì vậy, bạn có thể thử thiết lập vùng văn bản với: $ ('văn bản') văn bản ('giá trị mới của tôi');

+0

Điều này cũng làm việc cho tôi ... – Ananth

+0

Chú thích của bạn! Cảm ơn – James

0

Vấn đề của tôi là tôi đang sử dụng bộ chọn tên thay vì bộ chọn id.

tức là:

công trình:

'content': $(this).find('#text_content').val(), 

không hoạt động:

'content' : $(this).find('input[name=text_content]').val(), 

Không chắc lý do tại sao chọn tên đã không làm việc cho textarea (nó làm việc cho tất cả các lĩnh vực khác), nhưng có bạn có nó.

Các vấn đề liên quan