2014-12-16 14 views
10

की 'सेटिंग' मैं JQuery मान्य उपयोग कर रहा हूँ एक JQuery मोबाइल फार्म का है कि गतिशील रूप से बनाई गई है एक ऑटो पूरा विकल्प के साथ सूचीदृश्य है पर नहीं पढ़ सकता।JQuery मान्य Uncaught TypeError: गुण अपरिभाषित

यदि आप सत्यापन पूर्ण हो जाते हैं, तो आप ऑटो पूर्ण फ़ील्ड में प्रयास करने और टाइप करने में यह त्रुटि प्राप्त करते हैं।

मैं देख सकता हूँ कि इस समस्या रूप से संबंधित है jQuery मोबाइल फिल्टर इनपुट धारण करने के लिए बनाता है कि लेकिन मैं समझ नहीं कैसे क्षेत्र को सत्यापित होने से jQuery मान्य को रोकने के लिए।

मैं JS Fiddle

का उपयोग कर इसे पुन: पेश कर सकते हैं (प्रेस मान्य और फिर फिल्टर बॉक्स में टाइप)

कोई सुझाव की सराहना की

धन्यवाद

<body> 
<script> 
    jQuery.validator.setDefaults({ 
     ignore: '[data-type="search"]' 

    }); 
</script> 
<form> 
    <input required> 
    <ul id="ac" data-inset="true" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Search cars..."> 
     <li><a href="#">Acura</a> 

     </li> 
     <li><a href="#">Audi</a> 

     </li> 
    </ul> 
    <button onclick="$('#ac').attr('data-role','listview');$('#ac').listview();$('form').validate();">Validate</button> 
</form> 

+0

क्या आप जेक्यूएम 1.3 का उपयोग कर रहे हैं? या नया संस्करण? – Omar

उत्तर

42

आपकी पूरी समस्या गतिशील HTML द्वारा बनाई जा रही है जो listview() फ़ंक्शन द्वारा बनाई गई है। डीओएम का निरीक्षण करने से पता चलता है कि यह गतिशील रूप से एक नया <form> कंटेनर बनाता है। चूंकि आप अपने <form> कंटेनर के भीतर listview रखा है, अब आप <form></form><form></form> भीतर नेस्ट, जो बहुत ही अमान्य HTML, और पूरी कारण jQuery मान्य प्लगइन इतना अप्रत्याशित रूप से काम कर रहा है है।

समाधान अपने <form> कंटेनर के बाहर अपने सूचीदृश्य तत्व जगह है।

+1

इस हिस्से हल मेरी समस्या –

+0

सावधान रहना, कुछ * प्लगइन्स जोड़ें "अब आप एक

एक
जो बहुत अमान्य HTML और पूरी कारण jQuery मान्य प्लगइन इतना अप्रत्याशित रूप से काम कर रहा है के भीतर नेस्ट है" एक ''
प्रोग्राम के रूप में, और इस के लिए बिल्कुल वैध विफल करें। [http://hayageek.com/docs/jquery-upload-file.php]* – Petruza

+0

@ VeyselÖzdemir यह आपकी समस्या हल हो, तो हो सकता है आप जवाब यहाँ आधिकारिक तौर पर स्वीकार करना चाहिए। – rumblestrut

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