He creado un formulario con aproximadamente 800 campos en él. Sin saberlo, he dado el mismo id para algunos campos en el formulario. Cómo rastrearlos?¿Cómo encontrar identificaciones duplicadas en un formulario?
Respuesta
El http://validator.w3.org/ será la solución ideal. Pero el uso de jQuery que puede hacer algo como esto:
//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');
}
});
Espero que esto ayude.
Esto podría ayudarle a
Source: Finding duplicate ID’s on an HTML page
Encontrar de duplicados de identificación en una página HTML
Escrito por Eneko Alonso el 6 de mayo 2011
Parece que a veces nos olvidamos de ID de elemento están destinados a ser únicos en una página HTML. Aquí está un poco de código que acaba de escribió para encontrar de duplicados de identificación en una página (ejecutar el código en la consola JavaScript de su navegador ):
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);
}
Esto funcionará solo edítelo para que la línea, 'var nodes = document.getElementsByClassName (''); ', se cambia a' var nodes = document.getElementsByTagName ('input'); ' –
@Joey He editado mi respuesta, lo tendré en cuenta gracias – Christos312
Por defualt Notepad++ tiene resaltado de sintaxis que si se hace doble clic una palabra para seleccionarla, resaltará todas las demás ocurrencias de la misma palabra. Tendrás que hacer algo (probablemente mucho) de trabajo manual para cambiar el nombre de las cosas, quiero decir, ya que los campos no pueden dar con su propio nombre único.
Eso sería alrededor de 1600 clics. .. – Joey
Mejor comienzo. Debe tener alguna idea de dónde están los duplicados. –
He creado un ejemplo para que usted pueda ver, encuentra todos los ID duplicados dentro de un formulario/elemento en una página e imprime los nombres duplicados de ID en la consola.
El método de matriz contains
fue tomado de 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>
El código anterior es la salida siguiente:
duplicado: un
duplicado: d
One-ish utilizando sólo métodos matriz:
[].map.call(document.querySelectorAll("[id]"),
function (e) {
return e.id;
}).filter(function(e,i,a) {
return ((a.lastIndexOf(e) !== i) && !console.log(e));
})
Registra cada duplicado y devuelve una matriz que contiene los identificadores si se encontró alguno.
Hay una extensión de Chrome llamada Dup-ID que, si la instala, solo necesita presionar el botón para verificar los ID duplicados. Enlace de instalación: https://chrome.google.com/webstore/detail/dup-id-scans-html-for-dup/nggpgolddgjmkjioagggmnmddbgedice
También imprime todos los id-s que se encuentran en la página. – BlondCode
- 1. Varios remote_form_for en la misma página causa identificaciones duplicadas
- 2. ¿Cómo encontrar todas las identificaciones de niños recursivamente?
- 3. ¿Cómo encontrar filas duplicadas basadas en múltiples campos en MySQL?
- 4. dificultad con la acción del formulario y las identificaciones únicas
- 5. Encontrar un control en un formulario web
- 6. Perl - Encontrar líneas duplicadas en un archivo o matriz
- 7. ¿Cómo puedo encontrar efectivamente filas de blob duplicadas en MySQL?
- 8. Cómo evitar direcciones de correo electrónico duplicadas en un formulario de registro de usuario?
- 9. Buscar cadenas duplicadas en un archivo grande
- 10. jQuery encontrar formulario primario
- 11. ¿Cómo habilitar pestañas duplicadas en Eclipse? (es decir ventanas duplicadas)
- 12. Vista personalizada: ¿cómo configuro sus identificaciones para que se puedan encontrar a través de findViewById()?
- 13. ¿Cómo encontrar el formulario padre del elemento?
- 14. encontrar direcciones duplicadas en la base de datos, ¿evita que los usuarios las ingresen temprano?
- 15. ¿Cómo puedo crear identificaciones únicas para documentos incrustados en MongoDB?
- 16. Cómo deshabilitar un elemento de formulario en un formulario Zend?
- 17. Estrategia para encontrar entradas duplicadas en un árbol de búsqueda binaria
- 18. ¿Cómo puedo encontrar entradas duplicadas en una tabla de base de datos?
- 19. Entradas duplicadas en ListView
- 20. Carpetas duplicadas en github
- 21. Cómo encontrar el botón de enviar en un formulario específico en jQuery
- 22. Conseguir las identificaciones de etiquetas div
- 23. Soluciones duplicadas
- 24. ¿Cómo prevenir las entradas duplicadas mientras se actualiza?
- 25. ¿Cómo abrir un formulario dentro de un formulario?
- 26. devolver todas las filas duplicadas
- 27. ¿Cómo puedo eliminar líneas duplicadas de un archivo?
- 28. Cómo encontrar identificaciones o nombres de sistemas arrastrados preinstalados (mapas de bits) desde el volcado de memoria
- 29. Identificación de columnas duplicadas en un marco de datos R
- 30. ¿Qué puedo esperar cuando me quedo sin identificaciones en AppEngine?
solución rápida: http://validator.w3.org/ – Simone
Proporcione más detalles. ¿De qué forma tienes tu formulario HTML? –
bloc de notas ++ o texto Wrangler encontrar y reemplazar para cambiarlos –