2012-01-31 41 views
12

Tôi đã dabbling với mẫu serialize nhưng đáng ngạc nhiên của nó không serializing các hình thức. Đây là mã:jQuery serialize không hoạt động

<div id="content"> 
</div> 
<form id= "myform"> 
    <input type="text" id="inp"value="mytext"> 
    <input type="button" id="btn" value="serialize"/> 
</form> 

Đây là mã jQuery tôi đang làm việc với:

$("form").submit(function(e){ 
    e.preventDefault(); 
    var v= $(this).serialize(); 
    console.log(v); 
}); 

Đây là fiddle

Trả lời

47

Bạn cần một thuộc tính name trên input lĩnh vực của bạn. Nếu không, chúng sẽ bị bỏ qua bởi jQuery .serialize().

Dưới đây là một trích dẫn from the docs:

Lưu ý: Chỉ có "điều khiển thành công" là serialized vào chuỗi. Không có giá trị nút gửi được tuần tự hóa vì biểu mẫu không được gửi bằng nút. Đối với giá trị của một phần tử biểu mẫu được bao gồm trong chuỗi được tuần tự hóa, phần tử phải có thuộc tính name. Giá trị từ hộp kiểm và nút radio (đầu vào thuộc loại "radio" hoặc "hộp kiểm") chỉ được bao gồm nếu chúng được chọn. Dữ liệu từ các phần tử chọn tệp không được đăng.

Dưới đây là fiddle của bạn với một thuộc tính tên: http://jsfiddle.net/6fgUg/28/

+1

ah! tôi chỉ cần một bộ mắt mới, tnx cho trả lời nhanh chóng – Tassadaque

2

Bạn phải đặt tên cho các phần tử HTML đầu vào, ví dụ:

<form id="myform"> 
    <input type="text" id="inp" name="inp" value="mytext"> 
    <input type="button" id="btn" name="btn" value="serialize"/> 
</form> 
Các vấn đề liên quan