2011-04-25 7 views
12

का उपयोग कर टेक्स्टबॉक्स सीमा रंग बदलना मैं फॉर्म सत्यापन कर रहा हूं। जब फॉर्म इनपुट गलत है तो मैं टेक्स्टबॉक्स में एक लाल सीमा जोड़ता हूं:जावास्क्रिप्ट

document.getElementById("fName").style.borderColor="#FF0000" 

यह मुझे 2px लाल सीमा देता है। क्या मैं करना चाहता हूँ एक सही मान में उपयोगकर्ता putas वापस मूल सीमा पर जाने के लिए करता है, तो है ...

कोई मुझे बता सकता है कि मैं जावास्क्रिप्ट में सीमा आकार और रंग बदलने

उत्तर

-1

आप इस्तेमाल कर सकते हैं jQuery और:

Change border-bottom color using jquery?

+3

jQuery पर सब यहाँ की जरूरत नहीं की कोशिश कर सकते हैं। –

+0

डाउनवॉटेड क्योंकि jQuery – Luca

2

document.getElementById("fName").style.borderColor="";

आप सभी सीमा रंग वापस बदलने की जरूरत है।

सीमा आकार बदलने के लिए, element.style.borderWidth = "1px" का उपयोग करें।

+0

हां का अनावश्यक उपयोग, लेकिन यह मुझे 2px सीमा देता है ... यदि संभव हो तो मुझे 1px सीमा चाहिए – kevin

+0

@ केविन: मेरा संपादन देखें। –

17

बजाय सीएसएस वर्ग

सीएसएस

.error { 
    border:2px solid red; 
} 

अब जावास्क्रिप्ट में साथ उपयोग सीएसएस शैलियों

document.getElementById("fName").className = document.getElementById("fName").className + " error"; // this adds the error class 

document.getElementById("fName").className = document.getElementById("fName").className.replace(" error", ""); // this removes the error class 

मुख्य कारण मैं इस लगता है उल्लेख आप बदलना चाहते हैं ग़लत तत्व की सीमा का रंग। यदि आप अपना रास्ता चुनते हैं तो आपको कोड में कई स्थानों को संशोधित करने की आवश्यकता होगी। यदि आप अपना रास्ता चुनते हैं तो आप स्टाइल शीट को आसानी से संपादित कर सकते हैं।

+0

[सावा वेदोवा] द्वारा टिप्पणी (http://stackoverflow.com/users/1075534/savas-vedova) (संपादित अस्वीकार): 'classname' मान्य नहीं है। इसके बजाय यह 'className' है। – Anne

+0

यह कक्षा हर बार। – Hunsu

+0

सीएसएस में स्टाइल रखने के लिए खूबसूरती से किया गया। – tazboy

10
document.getElementById("fName").style.border="1px solid black"; 
1

मैं वीसेंट प्लाटा से सहमत हूं, आपको jQuery IMHO का उपयोग करने का प्रयास करना चाहिए सबसे अच्छी जावास्क्रिप्ट लाइब्रेरी है। आप अपने सीएसएस फ़ाइल में एक वर्ग बना सकते हैं और बस jQuery के साथ निम्न कार्य करें: LOL डी:

$('#fName').addClass('name_of_the_class'); 

और बस इतना ही है, और निश्चित रूप से आप ब्राउज़रों के असंगति के बारे में चिंतित नहीं होगा, कि jQuery की टीम समस्या है

3

अपने इनपुट तत्व को एक onchange घटना जोड़ें:

<input type="text" id="fName" value="" onchange="fName_Changed(this)" /> 

जावास्क्रिप्ट:

function fName_Changed(fName) 
{ 
    fName.style.borderColor = (fName.value != 'correct text') ? "#FF0000"; : fName.style.borderColor=""; 
} 
3

आप

document.getElementById('name').style.borderColor='#e52213'; 
document.getElementById('name').style.border='solid'; 
+1

कृपया शब्दों में और न केवल कोड में जवाब देने का प्रयास करें। और चूंकि आप बहुत देर से जवाब देते हैं, तो आपका उत्तर दूसरे से अलग कैसे होता है? – Artemix