2012-01-31 25 views
12

मैं फॉर्म धारावाहिक के साथ डबलिंग कर रहा था लेकिन आश्चर्यजनक रूप से यह फ़ॉर्म को क्रमबद्ध नहीं कर रहा था।jQuery serialize काम नहीं कर रहा

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

यहाँ jQuery कोड के साथ मैं काम कर रहा हूँ है:

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

यहाँ fiddle

उत्तर

47

आप अपने input खेतों पर एक name विशेषता की जरूरत है यहाँ कोड है। अन्यथा उन्हें jQuery के .serialize() द्वारा अनदेखा किया जाता है।

नोट::

यहाँ एक उद्धरण from the docs है केवल "सफल नियंत्रण" स्ट्रिंग के लिए क्रमांकित हैं। कोई सबमिट बटन मान धारावाहिक नहीं है क्योंकि फ़ॉर्म को बटन का उपयोग करके सबमिट नहीं किया गया था। धारावाहिक स्ट्रिंग में किसी प्रपत्र तत्व के मान को शामिल करने के लिए, तत्व का नाम होना चाहिए। चेकबॉक्स और रेडियो बटन (प्रकार "रेडियो" या "चेकबॉक्स" के इनपुट) के मूल्य केवल तभी शामिल किए जाते हैं जब वे चेक किए जाते हैं। फ़ाइल चयन तत्वों से डेटा क्रमबद्ध नहीं है।

यहाँ एक नाम विशेषता के साथ अपने बेला है: http://jsfiddle.net/6fgUg/28/

+1

आह! मुझे तत्काल उत्तर के लिए ताजा आंखों, टीएनएक्स के एक सेट की जरूरत थी – Tassadaque

2

आप उदाहरण के लिए, इनपुट HTML तत्व के लिए एक नाम देना है:

<form id="myform"> 
    <input type="text" id="inp" name="inp" value="mytext"> 
    <input type="button" id="btn" name="btn" value="serialize"/> 
</form> 
संबंधित मुद्दे