2013-05-29 4 views
5

के साथ इनपुट पर Jquery सत्यापन प्लगइन कार्य करें, मुझे यह पता लगाने में काफी समय लगा कि JQuery फॉर्म सत्यापन प्लगइन केवल "नाम" विशेषता वाले फ़ील्ड पर काम करता है।कोई नाम विशेषता

वैसे भी, मैं इसे सभी फ़ील्ड आवश्यक बनाने के लिए उपयोग करता हूं।

मेरे समस्या यह है कि कुछ बिंदु पर, मैं एक पाठ इनपुट है

<div id='choices'> 
    <input type='text' /> 
</div> 
<a href='#' id='add-choice' >Add input </a> 

उपयोगकर्ता के रूप में कई पाठ इनपुट के रूप में वह चाहता है जोड़ सकते हैं:

$("#add-choice").live("click",function(){ 
        $("#choices").append("<input type='text' /><br>"); 
}); 

और मैं करने के लिए इन नए क्षेत्रों चाहते हैं भी आवश्यक हो। यहां तक ​​कि अगर मैं पहले इनपुट में नाम देता हूं। गतिशील रूप से जोड़े गए नए इनपुट के लिए मुझे क्या करना चाहिए?

क्या नाम एटीआर का उपयोग किए बिना प्लगइन का उपयोग करने का कोई तरीका है, या कोई और समाधान है?

+0

[टैग: jquery-validation-engine] एक पूरी तरह से अलग प्लगइन है। संपादित टैग – Sparky

उत्तर

1

गतिशील रूप से जोड़े गए नए इनपुट के लिए मुझे क्या करना चाहिए?

उन्हें एक नाम, किसी भी नाम

वहाँ नाम attr का उपयोग किए बिना प्लगइन का उपयोग करने के लिए एक रास्ता है दे दो?

नहीं

वहाँ एक और समाधान है?

यह इस बात पर निर्भर करता है कि आप खेतों के साथ क्या कर रहे हैं - आपको स्पष्ट रूप से jquery मान्य काम करने के बजाय किसी भी अन्य कारण से उनके नाम पर आवश्यकता नहीं है, तो आप केवल नाम और कॉल क्यों नहीं बनाते उन सबको?

सुधार - जरूरत अद्वितीय नाम देखने टिप्पणियां

var i = 0; 
$("#add-choice").live("click",function(){ 
$("#choices").append("<input type='text' name='bob" + i + "' class='required'/><br>"); 
i = i + 1; 
}); 
+1

यह भी काम नहीं करेगा यदि सभी फ़ील्ड में समान नाम 'नाम' है। – Sparky

+0

उस @ स्पार्की के लिए धन्यवाद, मैंने अपना जवाब सही किया –

+0

धन्यवाद, यह वही काम है जो मैं ढूंढ रहा था। –

1

उद्धरण ओपी:

अगर आप name गुण नहीं है

नहीं, आप jQuery मान्य प्लगइन का उपयोग नहीं कर सकते हैं "वहाँ प्लगइन नाम attr का उपयोग किए बिना उपयोग करने के लिए एक रास्ता है" अपने सभी क्षेत्रों में।

As per documentation:

मार्कअप सिफारिशों

नाम विशेषता '' '' इनपुट तत्वों के लिए 'आवश्यक' है, सत्यापन प्लगइन इसके बिना काम नहीं करता।

"वैकल्पिक हल" जब यह नए इनपुट बनाता है jQuery एक अद्वितीय नाम बनाने के लिए है।

1

हाँ आप यह कर सकते हैं, लेकिन साथ सीमाएं

सीमा: विभिन्न नियमों का उपयोग करते समय संदेशों को बदलने के लिए लचीलापन नहीं होगा।

<form ="validationForm"> 
<input type="text" class="required" title="required message" /> 
</form> 

jQuery("#validationForm").validate(); 
संबंधित मुद्दे