donde indico this.
elements, además de que tienes una función, un formulario y hasta un input con el mismo nombre
factorial, en algunos navegadores suele dificultarle al interprete de js tener tantos elementos con el mismo nombre, intenta probar esto y analiza las diferencias de tu código contra este regularmente normalizado y estandarizado
Código Javascript
:
Ver original<body>
<head>
<script type="text/javascript">
function getFactorial(numero) { //camelCase para funciones y el prefijo "get" para indicar su uso
if (numero > 0) {
return numero * (getFactorial(numero - 1))
} else {
return 1;
}
}
</script>
</head>
<body>
<div align="center">
<p>Ver el factorial de un número de manera recursiva</p>
<form id="form" name="form_factorial" method="post" action="" onsubmit="alert(getFactorial(parseInt(this.elements['input_factorial'].value))); return false;">
<table>
<tr align="left"><td>Números </td> <td><input name="input_factorial" type="text" id="recursivo" size="15" /></td></tr>
<tr><td> </td><td><br/><input type="submit" value=" Ver Resultado " />
</td></tr>
</table>
</form>
</div>
</body>
notas:
-codigo HTML
todo en minúsculas, incluido los tags <script></script>
-
parseInt para convertir
string en
enteros