No entiendo, a mi este código me funciona muy bien en IE6 y FF2:
Código PHP:
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<meta name="Author" content="derkeNuke" />
<title>Página nueva</title>
<style type="text/css">
</style>
</head>
<body>
<form id="form01" action="index.php?a=contacto">
<center>
<br><br>
<table border=0>
<tr class=b><td width=90>Nombre</td> <td><input type="text" name="nombre"></td></tr>
<tr class=b><td width=90>Tu E-Mail</td> <td><input type="text" name="email"></td></tr>
<tr class=b><td width=90>Mensaje</td> <td><textarea name='mensaje' cols='35' rows='10' onKeyUp="return maximaLongitud(this,249)"></textarea></td></tr>
<input type="hidden" name="cantidad" value="3">
</table>
<br><input type="button" value="OK" onClick="manda('form01');">
</form>
<script type="text/javascript">
function manda(que) {
//Un chequeo rápido de campos
var obj=window.document.getElementById(que);
var msg="";
var objSel;
if (obj.nombre.value==""){
msg+=" - Debe ingresar un nombre\n";
objSel=obj.nombre;
}
if (obj.email.value==""){
msg+=" - Debe ingresar un e-mail\n";
if (!objSel) objSel=obj.email;
}
//etc con todos los campos
if (msg!=""){
msg="Revise en el formulario los campos vacíos, por favor:\n"+msg;
alert (msg);
objSel.focus();
}else{
obj.submit();
}
}
</script>
</body>
</html>
Quizás tengas algo sobreescribiendo la función
manda()....
De todas maneras para validar un form no se le suele dar id, se le suele dar un name y trabajar con document.forms["nombreDeFormulario"] más cómodamente.
O llevarlo más allá y pasarle el objeto formulario directamente a la función como parámetro.
También tienes que tener en cuenta a los usuarios que tengan el javascript desactivado, no podrán enviar tu formulario.
¿No te marca ningún error? Sobra una llave al final del código, es un poco difícil llevar control de las llaves si no identamos (aunque quizá sea porque cogiste un pedazo de código y no te diste cuenta).
Un saludo.