2012-07-26 16 views
9

मैंने इसमें लगभग 800 फ़ील्ड के साथ एक फॉर्म बनाया है। अनजाने में मैंने फॉर्म में कुछ फ़ील्ड के लिए एक ही आईडी दी है। उन्हें कैसे ढूंढें?डुप्लिकेट आईडी को किसी रूप में कैसे ढूंढें?

+7

त्वरित समाधान: http://validator.w3.org/ – Simone

+0

अधिक जानकारी प्रदान करें। आपके पास अपना HTML फॉर्म किस रूप में है? –

+0

नोटपैड ++ या टेक्स्ट wrangler उन्हें बदलने के लिए ढूंढें और प्रतिस्थापित करें –

उत्तर

13

http://validator.w3.org/ आसान समाधान होगा।

//See your console for duplicate ids 

$('[id]').each(function(){ 
    var id = $('[id="'+this.id+'"]'); 
    if(id.length>1 && id[0]==this) { 
    console.log('Duplicate id '+this.id); 
    alert('duplicate found'); 
    } 
}); 

आशा इस मदद करता है: लेकिन jQuery का उपयोग कर आप कुछ इस तरह कर सकते हैं

2

यह आपको

Source: Finding duplicate ID’s on an HTML page

मदद कर सकता है एक HTML पृष्ठ

6 मई को Eneko अलोंसो द्वारा लिखित पर डुप्लिकेट आईडी ढूँढना, 2011

ऐसा लगता है कि कभी कभी हम भूल तत्व आईडी एक HTML पृष्ठ पर अद्वितीय होने के लिए हैं। यहाँ कोड का एक छोटा सा मैं सिर्फ एक पेज (अपने ब्राउज़र का JavaScript कंसोल पर कोड चलाने) पर डुप्लिकेट आईडी खोजने के लिए लिखा था है:

var idList = {}; 
var nodes = document.getElementsByClassName(''); 
for (var i in nodes) { 
    if (!isNaN(i) && nodes[i].id) { 
    idList[nodes[i].id] = idList[nodes[i].id]? idList[nodes[i].id]+1:1; 
    } 
} 
for (var id in idList) { 
    if (idList[id] > 1) console.log("Duplicate id: #" + id); 
} 
+0

यह सिर्फ इसे संपादित करेगा ताकि लाइन, 'var nodes = दस्तावेज़।getElementsByClassName (''); ',' var nodes = document.getElementsByTagName ('input') में बदल दिया गया है; ' –

+0

@ जॉय मैंने अपना जवाब संपादित कर लिया है, मैं इसे ध्यान में रखूंगा धन्यवाद – Christos312

-2

डिफ़ॉल्ट रूप Notepad++ द्वारा प्रकाश डाला वाक्यविन्यास है कि अगर आप डबल क्लिक करें इसे चुनने के लिए एक शब्द, यह एक ही शब्द के सभी अन्य अवसरों को उजागर करेगा। आपको चीजों को पुनर्नामित करने वाले मैन्युअल काम के कुछ (शायद बहुत सारे) करना होगा, मेरा मतलब है कि खेतों को अपने अद्वितीय नाम के साथ नहीं आ सकता है।

+0

यह लगभग 1600 क्लिक होगा। .. – Joey

+0

बेहतर शुरू करें। उसके पास कुछ विचार होना चाहिए जहां डुप्लिकेट हैं। –

1

मैंने आपके लिए एक उदाहरण देखने के लिए एक उदाहरण बनाया है, यह पृष्ठ पर किसी फॉर्म/तत्व के भीतर सभी डुप्लिकेट आईडी पाता है और कंसोल पर डुप्लीकेट आईडी नाम प्रिंट करता है।

सरणी contains विधि this post से लिया गया है।

<html> 
    <body> 
     <form id="frm"> 
      <input type="text" id="a" /> 
      <input type="text" id="b" /> 
      <input type="text" id="c" /> 
      <input type="text" id="d" /> 
      <input type="text" id="e" /> 
      <input type="text" id="f" /> 
      <input type="text" id="a" /> 
      <input type="text" id="h" /> 
      <input type="text" id="i" /> 
      <input type="text" id="j" /> 
      <input type="text" id="d" /> 
      <input type="text" id="l" />    
     </form> 
    </body> 
    <script type="text/javascript"> 
     Array.prototype.contains = function(obj) { //Add a 'contains' method to arrays 
      var i = this.length; 
      while (i--) { 
       if (this[i] === obj) { 
        return true; 
       } 
      } 
      return false; 
     } 

     frm = document.getElementById('frm'); //Get the form 
     els = frm.getElementsByTagName('input'); //Get all inputs within the form 

     ids = new Array(els.length); //Create an array to hold the IDs 

     for(e = 0; e < els.length; e++) { //Loop through all of the elements 
      if(ids.contains(els[e].id)) //If teh array already contains the ID we are on 
       console.log('Duplicate: '+els[e].id); //Print 'Duplicate: {ID}' to the console 

      ids.push(els[e].id); //Add the ID to the array 
     } 

    </script> 
</html> 

ऊपर कोड इच्छा उत्पादन निम्नलिखित:

डुप्लिकेट: एक

डुप्लिकेट: घ

1

एक-ish लाइनर बस सरणी तरीकों का उपयोग कर:

[].map.call(document.querySelectorAll("[id]"), 
    function (e) { 
     return e.id; 
    }).filter(function(e,i,a) { 
     return ((a.lastIndexOf(e) !== i) && !console.log(e)); 
    }) 

प्रत्येक डुप्लिकेट लॉग करता है और यदि कोई भी पाया जाता है तो आईडी युक्त एक सरणी देता है।

0

डुप-आईडी नामक क्रोम एक्सटेंशन है जो यदि आप इंस्टॉल करते हैं, तो आपको डुप्लीकेट आईडी देखने के लिए बटन दबाए जाने की आवश्यकता है। इंस्टॉल का लिंक: https://chrome.google.com/webstore/detail/dup-id-scans-html-for-dup/nggpgolddgjmkjioagggmnmddbgedice

+0

यह पृष्ठ पर पाए गए सभी आईडी-एस को भी प्रिंट करता है। – BlondCode

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