Buenas tardes
Laurentina (hola
caricatos )
He estado revisando el código que has puesto, y antes de nada, he de comentarte que tienes errores de maquetación que deberías de solventar antes.
Te especifico algunos:
1.- En la declaración del body, tienes
Código PHP:
<body bgcolor="#FFFFFF" text="#000000" leftmargin="150" topmargin="80" marginwidth="0" marginheight="0">
como alternativa, que es aceptada por la W3c y validación tidy, te propongo esto
Código PHP:
<body bgcolor="#FFFFFF" text="#000000" style="margin:0px;padding:0px">
2.- En la declaración de tu
tr, el cual tiene este código
Código PHP:
<tr>
<th colspan="2">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="32" class="buttonrow">
<tr>
<input type="button" name="Submit" value="Terminar">
<td width="20" align="RIGHT">
</td>
</tr>
</table>
</th>
</tr>
tienes como error, que dentro del TR no has metido un TD que contenga el INPUT
Debería quedar asi:
Código PHP:
<tr>
<th colspan="2">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="32" class="buttonrow">
<tr>
<td width="20" align="RIGHT"><input type="button" name="Submit" value="Terminar"></td>
</tr>
</table>
</th>
</tr>
3.- En la declaración de tu SCRIPT, donde lo incluyes en la página, has de declarar el tipo de elemento que incluyes
Código PHP:
<SCRIPT LANGUAGE="JavaScript" SRC="../utilidades/validaciones.js"></SCRIPT>
Debería de quedar asi:
Código PHP:
<script type="text/javascript" language="javascript" src="../utilidades/validaciones.js"></script>
4.- Las tablas, no tienen como atributo standar la declaración de altura, por lo que debes de declararla dentro del Style de la misma.
Tu código
Código PHP:
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="32" class="buttonrow">
Debería de quedar así
Código PHP:
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="height:32px" class="buttonrow">
Finalmente, posteo el cçodigo, limpio, para que lo uses, y lo mires y veas las diferencias.
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Validacion</title>
<script type="text/javascript" language="javascript" src="../utilidades/validaciones.js"></script>
</head>
<body bgcolor="#FFFFFF" text="#000000" style="margin:0px;padding:0px">
<h1>Alta producto</h1>
<form action="ProcesarAltaProducto.php" method="post" name="formulario" id="formulario" onSubmit= "return validar_producto(this.formulario)">
<table bgcolor="#F0F8FF" width="95%" border="0" cellspacing="0" cellpadding="6" align="center">
<tr>
<td valign="top" align="left">
<table width="75%" cellpadding="3" cellspacing="0" border="1">
<tr class="celdaCampoObligatorio">
<th width="30%" align="right"> <label for="name" accesskey="N">Nombre:</label></th>
<td width="70%"><input type=TEXT name="Nombre" id="Nombre" maxlength=100 size=50></td>
</tr>
<tr class="celdaCampoObligatorio">
<th width="30%" align="right"> <label for="field2" accesskey="P">Precio:</label></th>
<td width="70%"><!-- <input type=hidden name="label2" value="Precio"> --><input type=TEXT name="Precio" id="Precio" maxlength=50 size=50></td>
</tr>
<tr class="celdaCampoNoObligatorio">
<th width="30%" align="right"> <label for="question" accesskey="Q">Descripcion:</label></th>
<td width="70%"><textarea name="Descripcion" id="Descripcion" rows="10" cols="50"></textarea></td>
</tr>
<tr class="celdaCampoObligatorio">
<th width="30%" align="right"> <label for="field2" accesskey="P">Catalogado:</label></th>
<td width="70%"><blockquote><p>Si<input type="radio" name="Catalogado" value="SiCatalog"></p><p>No<input type="radio" name="Catalogado"value="NoCatalog"></p></blockquote></td>
</tr>
<tr class="celdaCampoNoObligatorio">
<th width="30%" align="right"> <label for="field2" accesskey="P">Imagen(Introduzca ruta):</label></th>
<td width="70%"><input type=TEXT name="Imagen" id="Imagen" maxlength=50 size=50></td>
</tr>
<tr>
<th colspan="2">
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="height:32px" class="buttonrow">
<tr>
<td width="20" align="RIGHT"><input type="button" name="Submit" value="Terminar"></td>
</tr>
</table>
</th>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><p> </p></td>
</tr>
</table>
</form>
</body>
</html>
Mirados estos detalles, vamos al funcionamiento de tu Script
He visto que hay dos fallos importantes:
1.- El tipo de elemento que tienes para enviar el formulario, es un button, y para que salte el evento de onSubmit, debería ser un input type="submit"
2.- El formulario, en el evento onSubmit, le estás pasando como referencia lo siguiente: this.formulario.
Con eso le estas diciendo "valídame this (this significa yo mismo, el objeto donde estás trabajando) yoMismo.formulario" en resumidas cuentas formulario.formulario... y ese objeto no existe.
Debería de ser this "valídame a mi, a yo, el formulario"
Te pongo todo el código limpio, y espero que te sea útil
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Validacion</title>
<script type="text/javascript" language="javascript" src="../utilidades/validaciones.js"></script>
</head>
<body bgcolor="#FFFFFF" text="#000000" style="margin:0px;padding:0px">
<h1>Alta producto</h1>
<form action="ProcesarAltaProducto.php" method="post" name="formulario" id="formulario" onSubmit="return(validar_producto(this))">
<table bgcolor="#F0F8FF" width="95%" border="0" cellspacing="0" cellpadding="6" align="center">
<tr>
<td valign="top" align="left">
<table width="75%" cellpadding="3" cellspacing="0" border="1">
<tr class="celdaCampoObligatorio">
<th width="30%" align="right"> <label for="name" accesskey="N">Nombre:</label></th>
<td width="70%"><input type=TEXT name="Nombre" id="Nombre" maxlength=100 size=50></td>
</tr>
<tr class="celdaCampoObligatorio">
<th width="30%" align="right"> <label for="field2" accesskey="P">Precio:</label></th>
<td width="70%"><!-- <input type=hidden name="label2" value="Precio"> --><input type=TEXT name="Precio" id="Precio" maxlength=50 size=50></td>
</tr>
<tr class="celdaCampoNoObligatorio">
<th width="30%" align="right"> <label for="question" accesskey="Q">Descripcion:</label></th>
<td width="70%"><textarea name="Descripcion" id="Descripcion" rows="10" cols="50"></textarea></td>
</tr>
<tr class="celdaCampoObligatorio">
<th width="30%" align="right"> <label for="field2" accesskey="P">Catalogado:</label></th>
<td width="70%"><blockquote><p>Si<input type="radio" name="Catalogado" value="SiCatalog"></p><p>No<input type="radio" name="Catalogado"value="NoCatalog"></p></blockquote></td>
</tr>
<tr class="celdaCampoNoObligatorio">
<th width="30%" align="right"> <label for="field2" accesskey="P">Imagen(Introduzca ruta):</label></th>
<td width="70%"><input type=TEXT name="Imagen" id="Imagen" maxlength=50 size=50></td>
</tr>
<tr>
<th colspan="2">
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="height:32px" class="buttonrow">
<tr>
<td width="20" align="RIGHT"><input type="submit" name="Submit" value="Terminar"></td>
</tr>
</table>
</th>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><p> </p></td>
</tr>
</table>
</form>
</body>
</html>
Siento mucho haberme explayado tanto, pero creo que había que detallar los errores de concepto.
Si sigues teniendo problemas, no dudes en preguntarnos.
Saludos a tod@s