2010-08-18 19 views
36

मैं जावास्क्रिप्ट का उपयोग कर पृष्ठ पर कुछ प्रकार का पता लगाने में सक्षम होना चाहता हूं। समस्या निम्नानुसार है: मुझे यह जांचने की आवश्यकता है कि कोई विशिष्ट क्षेत्र चेकबॉक्स/रेडियो बटन/या टेक्स्ट फ़ील्ड है या नहीं।इनपुट तत्व का 'प्रकार' ढूंढना

यदि यह एक चेकबॉक्स या रेडियो बटन है जिसमें इसकी लंबाई नहीं है (इसमें कोई स्ट्रिंग नहीं है) अन्यथा यदि यह एक टेक्स्टफील्ड है तो मुझे यह जांचने की आवश्यकता है कि इसमें वर्ण हैं या नहीं। पृष्ठ गतिशील रूप से बनाया गया है, इसलिए कभी-कभी एक टेक्स्टबॉक्स को अन्य बार टेक्स्ट फ़ील्ड प्रदर्शित किया जा सकता है।

तो मेरी सोच इनपुट के प्रकार को पाती है, फिर निर्धारित करें कि क्या करना है।

किसी भी सुझाव की सराहना की जाएगी।

अग्रिम धन्यवाद।

+1

कोई बड़ा सौदा नहीं है, लेकिन एक अधिक सावधानी भेद यहां किया गया होगा: "इनपुट तत्व का प्रकार" "चर के प्रकार" या "पृष्ठ पर किसी अन्य तत्व के प्रकार" से बड़े पैमाने पर भिन्न होता है। –

उत्तर

52

type संपत्ति देखें। क्या वह पर्याप्त होगा?

+5

इसे element.type की तरह उपयोग करें, यह textarea वापस करेगा यह तत्व एक textarea है और इसी तरह। –

19

आप प्रपत्र के भीतर निवेश के प्रकार की जांच करना चाहते हैं, तो निम्न कोड का उपयोग करें: आप आप आसानी से किसी भी तत्व के प्रकार की जांच कर सकते jQuery उपयोग कर रहे हैं

<script> 
    function getFind(obj) { 
    for (i = 0; i < obj.childNodes.length; i++) { 
     if (obj.childNodes[i].tagName == "INPUT") { 
      if (obj.childNodes[i].type == "text") { 
       alert("this is Text Box.") 
      } 
      if (obj.childNodes[i].type == "checkbox") { 
       alert("this is CheckBox.") 
      } 
      if (obj.childNodes[i].type == "radio") { 
       alert("this is Radio.") 
      } 
     } 
     if (obj.childNodes[i].tagName == "SELECT") { 
      alert("this is Select") 
     } 
    } 
} 
</script>  

<script>  
    getFind(document.myform); 
</script> 
+1

आपको अब उन टिप्पणियों का उपयोग करने की आवश्यकता नहीं है: http://dorward.me.uk/www/comments-cdata/ –

3

function(elementID){  
    var type = $(elementId).attr('type'); 
    if(type == "text") //inputBox 
    console.log("input text" + $(elementId).val().size()); 
    } 

इसी प्रकार आप अन्य प्रकारों की जांच कर सकते हैं और उचित कार्रवाई कर सकते हैं।

+9

या, यदि आप जावास्क्रिप्ट का उपयोग करते हैं, तो आप 'document.getElementById (elementId) .type' लिख सकते हैं। मैं इस मामले में jQuery द्वारा प्रदान किए जाने वाले लाभ को देखने में असफल रहा। – troelskn

+0

यह गैर-jQuery शैली में एक फ़ंक्शन (ओवरहेड का अर्थ है) (उदाहरण के लिए '.getType() 'नहीं है, इसमें फ़ंक्शननाम नहीं है और' $ (तत्व) [0] .type' से अधिक कुछ नहीं (मानते हैं आप पहले से ही jQuery ऑब्जेक्ट था) – Martijn

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