मैं लेबल के बजाय div के साथ डिफ़ॉल्ट त्रुटि संदेश लेबल पर सवारी करने की कोशिश कर रहा हूं। मैंने this post पर भी देखा है और यह कैसे करना है, लेकिन सीएसएस के साथ मेरी सीमाएं मुझे परेशान कर रही हैं। मैं इन उदाहरणों में से कुछ की तरह इस प्रदर्शित कर सकते हैं कैसे:jQuery डिफ़ॉल्ट सत्यापन त्रुटि संदेश डिस्प्ले ओवरराइड (सीएसएस) पॉपअप/टूलटिप
Example #1 (Dojo) - त्रुटि प्रदर्शन को देखने के लिए
Example #2
यहाँ कुछ उदाहरण कोड है कि एक div तत्व
$(document).ready(function(){
$("#myForm").validate({
rules: {
"elem.1": {
required: true,
digits: true
},
"elem.2": {
required: true
}
},
errorElement: "div"
});
});
करने के लिए त्रुटि लेबल को ओवरराइड करता है अमान्य इनपुट टाइप करना होगा
अब मैं सीएसएस हिस्से पर एक नुकसान में हूँ, लेकिन यहाँ यह है:
div.error {
position:absolute;
margin-top:-21px;
margin-left:150px;
border:2px solid #C0C097;
background-color:#fff;
color:white;
padding:3px;
text-align:left;
z-index:1;
color:#333333;
font:100% arial,helvetica,clean,sans-serif;
font-size:15px;
font-weight:bold;
}
अपडेट:
ठीक है, मैं अब इस कोड का उपयोग कर रहा हूं लेकिन पॉपअप पर छवि और प्लेसमेंट सीमा से बड़ा है, क्या इसे गतिशील होने के लिए समायोजित किया जा सकता है?
if (element.attr('type') == 'radio' || element.attr('type') == 'checkbox') {
element = element.parent();
offset = element.offset();
error.insertBefore(element)
error.addClass('message'); // add a class to the wrapper
error.css('position', 'absolute');
error.css('left', offset.left + element.outerWidth());
error.css('top', offset.top - (element.height()/2)); // Not working for Radio, displays towards the bottom of the element. also need to test with checkbox
} else {
// Error placement for single elements
offset = element.offset();
error.insertBefore(element)
error.addClass('message'); // add a class to the wrapper
error.css('position', 'absolute');
error.css('left', offset.left + element.outerWidth());
error.css('top', offset.top - (element.height()/2));
}
सीएसएस (अपने सीएसएस कोड) नीचे के रूप में एक ही है
एचटीएमएल
<span>
<input type="radio" class="checkbox" value="P" id="radio_P" name="radio_group_name"/>
<label for="radio_P">P</label>
<input type="radio" class="checkbox" value="S" id="radio_S" name="radio_group_name"/>
<label for="radio_S">S</label>
</span>
आप अपने HTML प्रपत्र कोड जोड़ सकते हैं? यह कहना मुश्किल है कि रेडियो अकेले जावास्क्रिप्ट के आधार पर क्यों काम नहीं कर रहा है। –
मैंने अपने उत्तर के पूर्वावलोकन के साथ और विवरण जोड़ा। कोड वास्तव में काम कर रहा है। यदि आप त्रुटि संदेश को कस्टमाइज़ करना चाहते हैं, तो आप अधिक सीएसएस जोड़ सकते हैं लेकिन मूल बातें वहां मौजूद हैं। –
जब आप मान दर्ज करते हैं तो पृष्ठ रिक्त हो जाता है। मुझे नहीं लगता कि मेरे द्वारा सुझाए गए परिवर्तनों के साथ इसका कोई संबंध नहीं है। यदि आप त्रुटि प्लेसमेंट फ़ंक्शन को हटाते हैं तो क्या आपको अभी भी एक खाली पृष्ठ मिलता है? यदि आप करते हैं, तो समस्या अब इस प्रश्न से संबंधित नहीं है। वास्तविक पृष्ठ को देखे बिना क्या हो रहा है यह बताना असंभव है। या अधिक जानकारी प्राप्त करना। आपका उदाहरण मेरे लिए बिल्कुल ठीक काम कर रहा है। मुद्दा शायद कहीं और बिना किसी अज्ञात जावास्क्रिप्ट त्रुटि के कारण है। –