2010-04-07 14 views
75

मेरे एचटीएमएल:jQuery रूप serialize - रिक्त स्ट्रिंग

<script type="text/javascript"> 

    $(function() { 

     $("#bt1").click(function() { 

      var f = $("#form1"); 
      var formData = f.serialize(); 

      alert(formData); 
     }); 

    }); 
</script> 

<div id="div1"> 
     <form id="form1" action="/Home/Test1" method="post" name="down"> 
     <div id="div2"> 
      <input id="input1" type="text" value="2" /> 
     </div>  
     </form> 
    </div> 

<input type="submit" id="bt1" /> 

जब मैं क्लिक करें घटना ऊपर आग, formData खाली है। मैं jQuery 1.4.2 का उपयोग कर रहा हूँ।

उत्तर

173

आपको input तत्व एक नाम देना होगा। उदा .:

<form id="form1" action="/Home/Test1" method="post" name="down"> 
    <div id="div2"> 
     <input id="input1" type="text" value="2" name="foo"/> 
    </div>  
</form> 

चेतावनी बॉक्स foo=2 में आप दे देंगे।

.serialize() फॉर्म फ़ील्ड का नाम और मान लेता है और name1=value1&name2=value2 जैसी स्ट्रिंग बनाता है। एक नाम के बिना यह ऐसी स्ट्रिंग नहीं बना सकता है।

ध्यान दें कि nameid से कुछ अलग है। यदि आपने इसे "सामान्य" तरीके से उपयोग किया है तो आपका फॉर्म भी काम नहीं करेगा। प्रत्येक फॉर्म फ़ील्ड को एक नाम की आवश्यकता है।

+1

फॉर्म serialize btw के लिए आवश्यक आईडी हैं? – Vic

+4

नहीं वे नहीं हैं। –

+2

कभी अनुमान लगाया नहीं है, मेरे लिए बिल्कुल ठीक काम करता है –

7

इनपुट में कोई name विशेषता नहीं है ... जो धारावाहिक के लिए एक समस्या हो सकती है।

<input id="input1" type="text" value="2" name="input1" /> 
63

हालांकि यह इस विशेष उदाहरण पर लागू नहीं होता है, वही व्यवहार तब होता है जब एक या अधिक फॉर्म इनपुट अक्षम है। वे इनपुट क्रमबद्ध स्ट्रिंग में दिखाई नहीं देंगे। मेरे मामले में, सभी फॉर्म इनपुट में मूल्य थे लेकिन अक्षम कर दिए गए, जिसके परिणामस्वरूप एक खाली स्ट्रिंग लौटा दी गई।

+0

ग्रेट, यह मेरे लिए किया गया! इच्छा है कि दस्तावेज़ उस महत्वपूर्ण तथ्य का जिक्र करेंगे। –

+3

धन्यवाद, समस्या मुझे दो घंटे –

+3

के लिए ड्रैग करती है यह एक बुरा है। जब मैं मेल अजाक्स-शैली भेज रहा हूं, तो फ़ील्ड को अक्षम करना चाहता था और इसे _before_ फ़ॉर्म को क्रमबद्ध करने के लिए किया था ... –

4

यह भी सुनिश्चित करें कि पृष्ठ पर एक ही आईडी के साथ 2 तत्व नहीं हैं।

+2

यह एक टिप्पणी है, सवाल का जवाब नहीं। भविष्य में टिप्पणियों का उपयोग करें। धन्यवाद :) –

संबंधित मुद्दे