primero, los IDs no deben ser solo números... ¿tu variable
$id es un numero? ¡mal!
R: intenta prefijarle aunque sea un carácter, recuerda el ejemplo que puse aquella ocasión...
segundo, en tu función Javascript estas encerrando entre comillas el parámetro "
id" ¡mal!!
R: eso hace que sea un string, y ya no es el argumento pasado... simplemente omite las comillas
tercero, al momento de imprimir la llamada en el atributo
onsubmit estas omitiendo las comillas del atributo ¡mal!!
R: ahí si debe tomarse como string... por lo tanto agrega las comillas correctamente
cuarto, no es necesario el ID en el formulario si puedes usar directamente el ID del <input/> ¡mal!!
R: simplemente hay que usar el ID del <input/>
quinto, como en el punto cuatro cambiamos... se debe implementar de nuevo la función
R: no es mi costumbre, pero para que quede aún mas claro
Código PHP:
<html>
<head>
<script type="text/javascript">
function getfocus(id)
{
document.getElementById(id).focus();
return false;
}
</script>
</head>
<body>
<?php
while($fila=mysql_fetch_array ($resultado)){
$resultado=consultar("select * from noticias ");
$id=$fila["id"];
echo '<form method="post" onsubmit="return getfocus(\'el_dato_'.$id.'\');" >';
echo '<input type="hidden" name="ok" value="'.$id.'">';
echo '<input type="submit" value="ver noticia completa">';
echo '<input type="text" id="el_dato_'.$id.'"/></form>';
}
?>
</body>
</html>
PDTA: yo no veo en tu código el
id="dato" que explícitamente solicitabas en tu función original
getFocus() pero agregue uno para simularlo...