Me gustaría ejecutar una función js al presionar el botón Enter. Todo funciona muy bien en IE, Chrome y Opera, pero me sale un error (se explica a continuación) en Safari.'undefined' no es una función que evalúa el.click() en Safari
Necesito una solución pura de Javascript, no jQuery.
Ésta es la función :
function pressSearch(e) {
if (typeof e == 'undefined' && window.event) {
e = window.event;
}
var charCode = (e.which) ? e.which :
((e.charCode) ? e.charCode :
((e.keyCode) ? e.keyCode : 0));
if (charCode == 13) {
document.getElementById('enterSearch').click();
}
}
Ésta es la HTML:
<input type="text" id="searchKey" onkeypress="pressSearch(event)">
<div id="enterSearch">Search</div> // This is the "button"
consigo este error :
// Safari
TypeError: 'undefined' is not a function
(evaluating 'getElementById('enterSearch').click()')
¿Qué estoy haciendo mal?
EDIT: He solucionado el error de Mozilla Firefox.
He copiado y pegado el código en Firefox , pero no obtuvo ningún error ... ¿Puedes proporcionar una [demostración en vivo] (http://jsfiddle.net)? – Dennis
Subí solo por la línea "No quiero jQuery". –