2012-05-25 7 views
33

मैं html5 फॉर्म फ़ील्ड में त्रुटि संदेश की भाषा को बदलने की कोशिश कर रहा हूं।एचटीएमएल 5 संपर्क फ़ॉर्म में आवश्यक फ़ील्ड में त्रुटि संदेश की भाषा बदलना

मैं इस कोड है: भी क्षेत्र को खाली नहीं है

<input type="text" name="company_name" oninvalid="setCustomValidity('Lütfen işaretli yerleri doldurunuz')" required /> 

लेकिन पर भेजते हैं तो, मैं अभी भी त्रुटि संदेश मिलता है।

मैं <input type="text" name="company_name" setCustomValidity('Lütfen işaretli yerleri doldurunuz') required />

साथ करने की कोशिश की लेकिन तब अंग्रेज़ी संदेश प्रदर्शित होता है। कोई भी जानता है कि मैं अन्य भाषा पर त्रुटि संदेश कैसे प्रदर्शित कर सकता हूं?

सादर, ज़ोरान

+0

क्या आप 'setCustomValidity' फ़ंक्शन दिखा सकते हैं? – antyrat

+0

मैंने सोचा कि यह फ़ंक्शन में बनाया गया है ??? क्या ऐसा नहीं है? – Zoran

उत्तर

49

setCustomValidity के उद्देश्य नहीं है सिर्फ मान्यता संदेश स्थापित करने के लिए, यह अपने आप में निशान क्षेत्र के रूप में अवैध। यह आपको कस्टम सत्यापन जांच लिखने की अनुमति देता है जो मूल रूप से समर्थित नहीं हैं।

आपके पास कस्टम संदेश सेट करने के दो संभावित तरीके हैं, एक आसान जिसमें जावास्क्रिप्ट और कोई ऐसा नहीं है।

इनपुट तत्व पर title विशेषता का उपयोग करने का सबसे आसान तरीका है - इसकी सामग्री मानक ब्राउज़र संदेश के साथ प्रदर्शित होती है।

<input type="text" required title="Lütfen işaretli yerleri doldurunuz" /> 

enter image description here

यदि आप चाहते हैं केवल अपना कस्टम संदेश प्रदर्शित करने के लिए, जावास्क्रिप्ट का एक सा की आवश्यकता है। मैंने this fiddle में आपके लिए दोनों उदाहरण प्रदान किए हैं।

+0

मैं जावक्रिप्ट समाधान के साथ जाऊंगा। सभी खाली क्षेत्रों की जांच करने का कोई आसान तरीका? मेरे मामले में सभी फ़ील्ड आवश्यक हैं, और फॉर्म काफी लंबा है .. जावास्क्रिप्ट को फिर से लिखा जा सकता है, तो यह सभी क्षेत्रों की जांच करेगा? या यह एक-एक करके होना चाहिए? – Zoran

+0

शीर्षक के साथ कोड केवल कस्टम सीएसएस के साथ काम करता है या केवल कुछ ब्राउज़र में। मैं इसे जोड़ता हूं और मुझे तुर्की संदेश – Zoran

+0

नहीं देखा जा सकता है मैंने एक [अद्यतन संस्करण] (http://jsfiddle.net/zpkKv/3/) जोड़ा है जो सभी इनपुट, टेक्स्टरीज़ और फ़ील्ड का चयन करना चाहिए। आप किस ब्राउजर में परीक्षण कर रहे हैं? एचटीएमएल 5 फॉर्म सत्यापन बोर्ड भर में समर्थित नहीं है। – janfoeh

9

HTML:

<form id="myform"> 
    <input id="email" oninvalid="InvalidMsg(this);" name="email" oninput="InvalidMsg(this);" type="email" required="required" /> 
    <input type="submit" /> 
</form> 

JavaScript:

function InvalidMsg(textbox) { 
    if (textbox.value == '') { 
     textbox.setCustomValidity('Lütfen işaretli yerleri doldurunuz'); 
    } 
    else if (textbox.validity.typeMismatch){{ 
     textbox.setCustomValidity('please enter a valid email address'); 
    } 
    else { 
     textbox.setCustomValidity(''); 
    } 
    return true; 
} 

डेमो:

http://jsfiddle.net/patelriki13/Sqq8e/4

20

अपने oninvalid में this भूल जाते हैं, इस के साथ अपने कोड बदलने के लिए:

oninvalid="this.setCustomValidity('Lütfen işaretli yerleri doldurunuz')" 

enter image description here

<form><input type="text" name="company_name" oninvalid="this.setCustomValidity('Lütfen işaretli yerleri doldurunuz')" required /><input type="submit"> 
 
</form>

+1

धन्यवाद यह बहुत अच्छा –

+0

दुर्भाग्य से यह मेरे लिए काम नहीं किया। एक खाली क्षेत्र के साथ जमा करने की कोशिश करने के बाद संदेश दिखाया गया, लेकिन फिर यह हमेशा दिखाई दिया, भले ही मैंने मैदान भर दिया हो। –

+0

"दुर्भाग्य से यह मेरे लिए काम नहीं करता ..." टैग पर आवश्यक भूल जाओ! –

5

मैं जानता हूँ कि यह एक पुरानी पोस्ट है लेकिन मैं अपने अनुभव को साझा करना चाहते हैं।

HTML:

जावास्क्रिप्ट (jQuery):

$('input[required]').on('invalid', function() { 
    this.setCustomValidity($(this).data("required-message")); 
}); 

यह एक बहुत ही सरल नमूना है। मुझे उम्मीद है कि यह किसी के लिए मदद कर सकता है।

-1
<input type="text" id="inputName" placeholder="Enter name" required oninvalid="this.setCustomValidity('Please Enter your first name')" > 

इस मदद कर सकता है और भी बेहतर, तेज, सुविधाजनक & सबसे आसान।

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