Sin entrar a analizar detalles de la validación, que no es correcta (podrían pasarte espacios en blanco en los campos y validaría correctamente, consultá como hacer trim() con javascript). El método que estás usando para llamar la función, no es el indicado
Lee
http://www.forosdelweb.com/f13/docum...0/#post4151210
tendrías que tener algo como esto
Código HTML:
Ver original<!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"> <meta http-equiv="content-type" content="text/html; charset=utf-8" />
function comprobar(){
var mal=false;
numero=document.forms[0].elements.length;
for(a=0;a<numero;a++){
if (document.forms[0].elements[a].value==""){
document.forms[0].elements[a].style.backgroundColor="#ffffcc";
mal=true;
}
else{
document.forms[0].elements[a].style.backgroundColor="white";
}
}
if(mal){
alert("Por favor, rellene las cajas coloreadas");
return false;
}
else{document.forms[0].submit()}
}
<form action="ingresar1.php" method="post" onsubmit="return comprobar();" > <table width="330" border="0" cellspacing="3" cellpadding="3"> <th width="94" scope="col"> </th> <th width="223" scope="col"> </th> <td><input type="text" name="txtclave1"></td> <td><input type="text" name="txtclave2"></td> <td><input type="submit" name="Submit" value="Ingresar"></td>
Saludos