Foros del Web » Programando para Internet » PHP »

Problemas con alert!!!

Estas en el tema de Problemas con alert!!! en el foro de PHP en Foros del Web. <html> <head> <title>Despliege de Datos</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- input { font-family: Tahoma, Verdana, Arial; font-size: 11px; color: #000000; background-color: #CCCCCC; border: ...
  #1 (permalink)  
Antiguo 20/03/2006, 14:39
 
Fecha de Ingreso: octubre-2005
Mensajes: 405
Antigüedad: 18 años, 5 meses
Puntos: 1
Problemas con alert!!!

<html>
<head>
<title>Despliege de Datos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
input { font-family: Tahoma, Verdana, Arial; font-size: 11px; color: #000000; background-color: #CCCCCC; border: 1px #000000 solid}
select { font-family: Tahoma, Verdana, Arial; font-size: 11px; color: #FFFFFF; background-color: #6699CC; border: #000099; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000" background="imagenes/logo_fondo.jpg" topmargin="0">
<?
//Coneccion a base de dato
include("conexion.php");

if (isset($_REQUEST['op'])) $op=$_REQUEST['op']; else $op=" ";

if ($op=='grabar')
{
$codigo=$_POST['codigo_i'];
$nombre=$_POST['nombre_i'];
$saldo=0;
$f_compra='0000-00-00';
$costo_i=0;
$factura_i=0;
if($codigo=="") echo "<SCRIPT LANGUAGE='JavaScript'>alert('Error: Debe ingresar un codigo!');</SCRIPT>";
if($nombre=="") echo "<SCRIPT LANGUAGE='JavaScript'>alert('Error: debe ingresar la descripción!');</SCRIPT>";
if($codigo!="" and $nombre!="")
{
$sql="insert into insumos values('$codigo','$nombre','$saldo','$f_compra','$ costo','$factura')";
mysql_query($sql,$conectar) or die(mysql_error());
header("location:principal.php");
}
}
elseif($op=='frmingreso')
{
echo "<form action=principal.php method=POST name=formularioingresar>";
echo "<font color=990000><b><font face=Courier New, Courier, mono size=3>INGRESO</font></b></font><HR><br><br>";
echo "<table width=39% border=1 align=center>
<tr>
<td width=28%><font face=Verdana, Arial, Helvetica, sans-serif size=1>Codigo</font></td><td width=72%><input type=text name='codigo_i' size=11></td>
</tr>
<tr>
<td width=28%><font face=Verdana, Arial, Helvetica, sans-serif size=1>Descripci&oacute;n</font></td><td width=72%><input type=text name='nombre_i' size=50></td>
</tr>
<tr>
<td colspan=2 align=center>
<input type=submit value='Grabar'>
<input type=button name=Volver value='Volver' Onclick='javascript:history.go(-1);'>
<input type=hidden name=op value='grabar'>
</td>
</tr>
</table>";
}
else
{
?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="36"></td>
<td width="875" valign="top" align="center">
<form method="post" action="principal.php">
<input type="submit" value="Ingresar Producto">
<? echo "<input type=hidden name=op value='frmingreso'>";?>
</form>
</td>
<td width="61"></td>
</tr>
<tr>
<td></td>
<td valign="top">
<hr size="5" noshade>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td valign="top">
<table width="100%" border="1" height="42" bordercolor="ffffff" cellpadding="1" cellspacing="1">
<tr bgcolor="#FFFFCC">
<td height="16%" width="11%">
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Código</font></div>
</td>
<td height="16%" width="34%">
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Descripci&oacute;n</font></div>
</td>
<td height="16%" width="11%">
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Saldo</font></div>
</td>
<td height="16%" width="13%">
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">F. Ult. Compra</font></div>
</td>
<td height="16%" width="17%">
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Precio Costo </font></div>
</td>
<td height="16%" width="14%">
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Factura</font></div>
</td>
<td height="16%" width="11%">
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Ficha</font></div>
</td>
</tr>
<?
$sql="select * from insumos order by codigo_i asc";
$resultado=mysql_query($sql,$conectar) or die(mysql_error());
while($registro=mysql_fetch_array($resultado))
{
$codigo=$registro['codigo_i'];
$nombre=$registro['nombre_i'];
$saldo=$registro['saldo_i'];
$compra=$registro['f_compra'];
$costo=$registro['costo_i'];
$factura=$registro['factura_i'];
echo "<tr bgcolor=FFFFCC>
<td height=14% width=11% bgcolor=ededed>
<div align=center><font size=1 face=Verdana, Arial, Helvetica, sans-serif>
<a href='principal.php?op=frmmodificar&cod=$codigo'>$ codigo</a></font></b></div>
</td>
<td height=14% width=34% bgcolor=ededed>
<div align=left><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$nombre</font></div>
</td>
<td height=14% width=11% bgcolor=ededed>
<div align=right><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$saldo</font></div>
</td>
<td height=14% width=13% bgcolor=ededed>
<div align=right><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$compra</font></div>
</td>
<td height=14% width=17% bgcolor=ededed>
<div align=right><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$costo</font></div>
</td>
<td height=14% width=14% bgcolor=ededed>
<div align=right><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$factura</font></div>
</td>
<td height=14% width=11% bgcolor=ededed>
<div align=center><font size=1 face=Verdana, Arial, Helvetica, sans-serif>
<a href='ficha.php?cod=$codigo' target='ventana'>Ver</a></font></div>
</td>
</tr>";
}
?>
</table>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
<?
}
?>

*******************
Cuando los campos que recibo estan en blanco despliego mensaje de alert!
pero cuando acepto a éste no vuelve al formulario.
Cuando los campos tienen datos, no vuelvo a principal.
*******************
Como logro esto... de ante mano gracias.
  #2 (permalink)  
Antiguo 28/06/2006, 12:34
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 20 años, 4 meses
Puntos: 0
el alert en en cliente

Tu mensaje es muy extenso como para leerme todo el codigo, pero dada la pregunta creo que la solución consiste en lo siguiente:

opcion 1: Comprobar que los campos no estan vacios antes de enviar el formulario con una funcion Javascript asociada al evento onSubmit del formulario.
<form action=.... onSubmit="return comprobarCampos();">
<input name=campo1 id=campo1>
</form>
<script>
function comprobarCampos()
{
if (document.getElementById('campo1').value=="")
{
alert('El campo esta vacio');
return true;
}
else{return false;}
}
</script>

opcion 2: Tal y como lo tienes hecho, pero despues de scribir el alert puedes volver a escribir el formulario. Incluso te diría que esta forma es mas segura si quieres que realmente nadie ponga campos vacios en tu base de datos, porque el codigo JavaScript cualquiera se lo puede saltar.

Espero haberte sido de ayuda en algo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:01.