Esta no es una solución de una línea, pero toma en consideración del primer campo de entrada del usuario verdadero (puede ser < de entrada/> o <seleccionar> tag).
Solo tienes que ajustar esto un poco más y obtienes lo que necesitas.
P.S: He probado que este código funciona en FireFox, Chrome e IE6.
function focusFirstFormField() {
try {
var selector = $("#formid");
if (selector.length >= 1 && selector[0] && selector[0].elements && selector[0].elements.length > 0) {
var elements = selector[0].elements;
var length = elements.length;
for (var i = 0; i < length; i++) {
var elem = elements[i];
var type = elem.type;
// ignore images, hidden fields, buttons, and submit-buttons
if (elem.style.display != "none" /* check for visible */ && type != "image" && type != "hidden" && type != "button" && type != "submit") {
elem.focus();
break;
}
}
}
}
catch(err) { /* ignore error if any */ }
}
Esto parece ignorar los controles "seleccionar". – CodeGrue
No, funciona con controles "seleccionar". –
Esto funciona como el encanto – Ravia