2013-10-03 12 views
86

मैं अपने सभी इनपुट फ़ील्ड में HTML5 सत्यापन का उपयोग करके jQuery को स्वचालित रूप से लिखने के तरीकों की खोज कर रहा हूं लेकिन मुझे यह कहने में परेशानी हो रही है कि इसे कहां लिखना है।jQuery फ़ील्ड इनपुट फ़ील्ड के लिए आवश्यक

मैं इस

<input type="text" name="first_name" value="" id="freeform_first_name" 
maxlength="150"> 

ले जाना चाहते हैं और यह अपने आप बंद टैग

<input type="text" name="first_name" value="" id="freeform_first_name" 
maxlength="150" required> 

मैंने सोचा कि मैं

$("input").attr("required", "true"); 
की तर्ज पर someting कर सकता से पहले आवश्यक जोड़ने

लेकिन यह काम नहीं करता है। कोई भी मदद बहुत ही सराहनीय होगी।

+1

क्या यह डोम तैयार नहीं है? '$ (फ़ंक्शन() {....});' – PSL

+0

मैं इस http://jsfiddle.net/japaneselanguagefriend/LEZ4r/ –

+0

का उपयोग कर रहा हूं यदि 'इनपुट' एक आईडी है तो jquery यहां चयनकर्ता में # गायब है । –

उत्तर

229
$("input").prop('required',true); 

DEMO FIDDLE

+1

हम्म, सबमिट बटन जोड़ा लेकिन अभी भी इनपुट फ़ील्ड में आवश्यक विशेषता को मान्य या जोड़ना नहीं है। http://jsfiddle.net/japaneselanguagefriend/LEZ4r/ –

+1

@AoiHana ठीक काम कर रहा है। http://jsfiddle.net/LEZ4r/1/ – Unknown

+0

यदि 'इनपुट' एक आईडी है तो jquery में चयनकर्ता में # गायब है। element.prop एक function' त्रुटि –

33

आप attr का उपयोग करके यह कर सकते हैं, गलती आपके द्वारा किए गए है कि आप कोट के अंदर सच डाल है। इसके बजाय इसे आजमाएं:

$("input").attr("required", true); 
+0

यदि 'इनपुट' एक आईडी है तो jquery में चयनकर्ता में # गायब है। –

+2

@JohnMeyer "इनपुट" एक टैग चयनकर्ता – dave4jr

1

मुझे पता चला कि jquery 1.11.1 यह भरोसेमंद नहीं करता है।

मैंने $('#estimate').attr('required', true) और $('#estimate').removeAttr('required') का उपयोग किया।

required को हटाने विश्वसनीय नहीं था। यह कभी-कभी मूल्य के बिना required विशेषता छोड़ देगा। चूंकि required एक बुलियन एटिब्यूट है, इसकी केवल उपस्थिति, मूल्य के बिना, ब्राउज़र द्वारा true के रूप में देखी जाती है।

यह बग अंतराल था, और मैं इसके साथ गड़बड़ करने से थक गया। document.getElementById("estimate").required = true और document.getElementById("estimate").required = false पर स्विच किया गया।

+0

'removeAttr' मेरे लिए काम नहीं करता है का नाम है। फिर मैं आपके समाधान का उपयोग करता हूं और ठीक काम करता हूं। धन्यवाद! –

17

मैं ने पाया है कि निम्नलिखित कार्यान्वयन प्रभावी रहे हैं:

$('#freeform_first_name').removeAttr('required'); 

$('#freeform_first_name').attr('required', 'required'); 

ये आदेश (attr, removeAttr, प्रोप) अलग ढंग से प्रयोग कर रहे हैं JQuery के संस्करण के आधार व्यवहार करते हैं। कृपया यहां प्रलेखन का संदर्भ लें: https://api.jquery.com/attr/

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