jQuery इनपुट क्षेत्रों के लिए आवश्यक जोड़ें


171

मैं अपने सभी इनपुट क्षेत्रों में html5 सत्यापन का उपयोग करके 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");

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


2
क्या यह डॉम रेडी नहीं है? $(function(){....});
PSL


अगर 'इनपुट' एक आईडी है, तो jquery चयनकर्ता के यहाँ गायब है।
जॉन मेयर

@ जॉनमेयर "इनपुट" एक टैग चयनकर्ता है। इनपुट टैग्स को टारगेट करने पर कोई # जरूरत नहीं है
स्पार्टाकस

जवाबों:


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

DEMO FIDDLE


1
हम्म, एक सबमिट बटन जोड़ा लेकिन फिर भी इनपुट फ़ील्ड में आवश्यक विशेषता को मान्य या जोड़ नहीं रहा है। jsfiddle.net/japaneselanguagefriend/LEZ4r
Miura-shi

1
@JohnMeyer "इनपुट" एक टैग चयनकर्ता है
morefromalan

1
एक TypeError: element.prop is not a functionत्रुटि मिली
davideghz

@ मिउरा-शि आप <form></form>अपने jsFiddle
जेस्टटेक

इस पहली बार में मेरे लिए काम नहीं कर रहा था क्योंकि मैं बुला रहा था: यह किसी की मदद कर सकते हैं .prop('required',true)इनपुट पर पहले बुला .css("display", "block")उस पर।
इलेक्ट्रोटाइप

52

आप इसे अटर का उपयोग करके कर सकते हैं, जो गलती आपने की है वह यह है कि आप सही उद्धरण के अंदर रखते हैं। इसके बजाय यह प्रयास करें:

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

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

requiredएक बूलियन विशेषता है और इसे केवल "असत्य" के लिए छोड़ दिया जाना चाहिए, या "required""सत्य" के लिए इसके नाम (यानी ) के समान मूल्य होना चाहिए । यह वास्तव में उपयोग करने के लिए बेहतर है .prop()
अलनीतक

@Alnitak यदि आप IE के साथ संगत साइट बनाने पर काम नहीं कर रहे हैं, prop()तो वहां पर वह काम नहीं करता जैसा कि वह आधुनिक ब्राउज़रों पर करता है। अभी भी उपयोग करने $(ele).attr("required", true)और falseनिकालने के लिए सबसे अच्छा है ।
ओलिवर हेवार्ड

29

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

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

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

ये कमांड (attr, removeAttr, Prop) आपके द्वारा उपयोग किए जा रहे JQuery के संस्करण के आधार पर अलग-अलग व्यवहार करते हैं। कृपया यहाँ दस्तावेज़ देखें : https://api.jquery.com/attr/


6

.attrविधि का उपयोग करना

.attr(attribute,value); // syntax

.attr("required", true);
// required="required"

.attr("required", false);
// 

का उपयोग करते हुए .prop

.prop(property,value) // syntax

.prop("required", true);
// required=""

.prop("required", false);
//

यहाँ से और पढ़ें

https://stackoverflow.com/a/5876747/5413283


4

मैंने पाया कि 1.11.1 jquery यह मज़बूती से नहीं करता है।

मैं प्रयोग किया जाता है $('#estimate').attr('required', true)और $('#estimate').removeAttr('required')

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

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


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

4

दोहरे उद्धरण के साथ सत्य को संलग्न नहीं करना चाहिए "" ऐसा होना चाहिए

$(document).ready(function() {            
   $('input').attr('required', true);   
});

इसके अलावा आप प्रोप का उपयोग कर सकते हैं

jQuery(document).ready(function() {            
   $('input').prop('required', true);   
}); 

सच के बजाय आप आवश्यक कोशिश कर सकते हैं। जैसे कि

$('input').prop('required', 'required');
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.