Autor Tema: [Ayuda] Object is not a function  (Leído 621 veces)

Desconectado nmartin021

  • PHPero Avanzado
  • ****
  • Mensajes: 250
  • Karma: 9
    • Ver Perfil
[Ayuda] Object is not a function
« en: 01 de Noviembre de 2011, 15:22:23 pm »
Hola!

Vi un ejercicio Javascript en internet, y decidí hacerlo. Era poner una palabra en un array, y su traducción en otro. Y para obtener la traducción, uso in_array (yo creé la función - te devuelve el índice del array si está y sino, devuelve -1) y hago esto:
Código: [Seleccionar]
function translate(word){
    ... palabras en arrays
    return ingles[in_array(word, array_ingles)] || false; // false significa que no hay traducción disponible
}
Todo bien hasta que metí mi código en un form:
Código: [Seleccionar]
<form onsubmit="alert(translate($('#t1').value));return false;">
<input id="t1" /><input type="submit" value="Traducir" />
</form>
Y al clickear el botón de Traducir, en la consola de errores sale "Object is not a function" y recarga la página enviando el form, y no entiendo el por qué, ya que si manualmente ejecuto el código "alert(translate($('#t1').value))" sí me sale la traducción.

El error sale en la línea 33:
Código: [Seleccionar]
<form onsubmit="alert(translate($('#t1').value));return false;">

PD: Lo de $() es una función creada por mí, que devuelve document.getElementById('loqueyoponga') y por eso uso $().value y no $().val(), como sería en jQuery (repito, NO uso jQuery).

Saludos
« Última modificación: 01 de Noviembre de 2011, 15:44:16 pm por nmartin021 »

Comunidad PHPeros

[Ayuda] Object is not a function
« en: 01 de Noviembre de 2011, 15:22:23 pm »

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:[Ayuda] Object is not a function
« Respuesta #1 en: 01 de Noviembre de 2011, 15:42:34 pm »
Antes que nada, si pones onsubmit="alert('a');return false;" se envía la alerta? Porque hay veces en las que por una razón o por otra no funciona como debería.
« Última modificación: 01 de Noviembre de 2011, 15:45:06 pm por westwest »

Desconectado nmartin021

  • PHPero Avanzado
  • ****
  • Mensajes: 250
  • Karma: 9
    • Ver Perfil
Re:[Ayuda] Object is not a function
« Respuesta #2 en: 01 de Noviembre de 2011, 15:47:00 pm »
Antes que nada, si pones onsubmit="alert('a');return false;" se envía la alerta? Porque hay veces en las que por una razón o por otra no funciona como debería.
Sí, sí se envía la alerta, sale 'a'. El problema es que cuando ejecuto mi código manualmente (escribiendo javascript:codigo; en la barra de dirección) sale perfecto. Ese es el problema, que no se ejecuta en el form, pero sí manualmente.

Saludos

Desconectado nmartin021

  • PHPero Avanzado
  • ****
  • Mensajes: 250
  • Karma: 9
    • Ver Perfil
Re:[Ayuda] Object is not a function
« Respuesta #3 en: 01 de Noviembre de 2011, 16:46:03 pm »
Resuelto, cambié onsubmit por action="javascript:mi_codigo" y listo. Cierren tema.

Saludos.