Foros del Web » Programando para Internet » PHP »

Evitar como se hace una consulta.

Estas en el tema de Evitar como se hace una consulta. en el foro de PHP en Foros del Web. hola de nuevo, tengo el siguiente problema tengo este script en javascript : function validar(form) { var error = "Por favor, antes de enviar el ...
  #1 (permalink)  
Antiguo 27/08/2006, 15:31
 
Fecha de Ingreso: agosto-2006
Mensajes: 34
Antigüedad: 17 años, 8 meses
Puntos: 0
Evitar como se hace una consulta.

hola de nuevo, tengo el siguiente problema tengo este script en javascript:

function validar(form)
{
var error = "Por favor, antes de enviar el formulario,\ncomplete los siguientes campos:\n\n";
var a = ""

if (form.ref.value == "") { a += " Referencia\n"; }
if (form.tip.value == "") { a += " Tipo de inmueble\n"; }
if (form.gestion.value == "") { a += " Gestion\n"; }
if (form.prec.value == "") { a += " Precio\n"; }
if (form.zona.value == "") { a += " Zona\n"; }
if (form.pro.value == "") { a += " Provincia\n"; }
if (form.loca.value == "") { a += " Localidad\n"; }
if (form.dor.value == "") { a += " Dormitorios\n"; }
if (form.bañ.value == "") { a += " Baño\n"; }
if (form.aseo.value == "") { a += " Aseos\n"; }
if (form.supe.value == "") { a += " Superficie Construida\n"; }
if (form.parcela.value == "") { a += " Parcela\n"; }
if (form.antiguo.value == "") { a += " Antigüedad\n"; }
if (a != "") { alert(error + a); return true; }

form.submit()
}

pero el problema que tengo es que le doy a aceptar y me sigue haciendo una consulta de insertar. mi pregunta es como evitar que se haga la consulta?
  #2 (permalink)  
Antiguo 27/08/2006, 15:36
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 17 años, 7 meses
Puntos: 0
No entiendo el problema de insertar con javascript, si pudieras explicarlo un poco más podremos ayudarte mejor
  #3 (permalink)  
Antiguo 27/08/2006, 15:43
 
Fecha de Ingreso: agosto-2006
Mensajes: 34
Antigüedad: 17 años, 8 meses
Puntos: 0
mira tengo un formuulario de insertar un registro entonces en la cabecera tengo la funcion javascript uqe me evita que meta un registro con los campos vacios.
pero el problema es que me enseña la alerta javascript, y despues me inserta el registro con los campos vacios.
  #4 (permalink)  
Antiguo 27/08/2006, 15:49
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 17 años, 7 meses
Puntos: 0
Quizás haciendo un return false; en vez del true cuando falla algo
  #5 (permalink)  
Antiguo 27/08/2006, 15:54
 
Fecha de Ingreso: agosto-2006
Mensajes: 34
Antigüedad: 17 años, 8 meses
Puntos: 0
me sigue haciendo lo mismo le he cambiado el true por el false y le he quitado el submit
  #6 (permalink)  
Antiguo 27/08/2006, 15:57
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 17 años, 7 meses
Puntos: 0
Puedes poner el código del formulario?
  #7 (permalink)  
Antiguo 27/08/2006, 16:04
 
Fecha de Ingreso: agosto-2006
Mensajes: 34
Antigüedad: 17 años, 8 meses
Puntos: 0
<form action="insertar.php" method="post">



<table bgcolor="#CC9966"><tr><td>
Referencia &nbsp <input name="ref" type="text" size="5" maxlength="5"> &nbsp&nbsp
Tipo de Inmueble &nbsp <input type="text" name="tip" maxlength="20">&nbsp&nbsp
Gestion &nbsp <input name="gestion" type="text" size="10" maxlength="20">&nbsp&nbsp
Precio &nbsp <input name="prec" type="text" size="10" maxlength="20">
</td></tr></table>


<table bgcolor="#CC9966"><tr><td>
Zona &nbsp <input type="text" name="zona" maxlength="20">&nbsp&nbsp
Provincia &nbsp <input name="pro" type="text" size="10" maxlength="20">&nbsp&nbsp
Localidad &nbsp <input name="loca" type="text" size="10" maxlength="30">
</td></tr></table><br>

<table bgcolor="#CC9966"><tr><td>
Dormitorios&nbsp <input name="dor" type="text" size="2" maxlength="2"> &nbsp&nbsp
Baños&nbsp <input name="bañ" type="text" size="2" maxlength="2"> &nbsp&nbsp
Aseos&nbsp <input name="aseo" type="text" size="2" maxlength="2"> &nbsp&nbsp<br><br>
Superficie Construida &nbsp <input name="supe" type="text" size="7" maxlength="7"> &nbsp&nbsp
Parcela &nbsp <input name="parcela" type="text" size="7" maxlength="7"> &nbsp&nbsp
Antigüedad &nbsp <input name="antiguo" type="text" size="3" maxlength="2">
</td></tr></table>

<table bgcolor="#CC9966"><tr><td>

Cocina Amueblada&nbsp <input type="checkbox" name="cocina"><br>
Trastero&nbsp <input type="checkbox" name="trastero"><br>
Terraza&nbsp <input type="checkbox" name="terraza"><br>
Garaje&nbsp <input type="checkbox" name="garaje"><br>
Aire Acondicionado&nbsp <input type="checkbox" name="aire"><br>
Piscina&nbsp <input type="checkbox" name="piscina"><br>
Jardines&nbsp <input type="checkbox" name="jardines"><br>


</td></tr></table>

<table bgcolor="#CC9966"><tr><td>


Observaciones<blockquote><textarea name="obser"></textarea></blockquote>
</td></tr></table><hr>
<input type="submit" name="Enviar" value="Grabar" onClick="validar(this.form)"> &nbsp <input type="reset" value="Reestablecer"><a href="foto.php?id=<? echo $_POST[ref];?>">Agregar Foto</a><br>
<center><a href="editar.php">Volver</a></center>

<?php
//conexion
$host="localhost";
$root="root";
$pass="";
$bd="inmobiliaria";
$con=mysql_connect($host,$root,$pass) or die (mysql_error());
mysql_select_db($bd,$con) or die (mysql_error());

$refe=$_POST[ref];
$tipo=$_POST[tip];
$gestion=$_POST[gestion];
$precio=floatval($_POST[prec]);
$zona=$_POST[zona];
$provincia=$_POST[pro];
$localidad=$_POST[loca];
$dormi=$_POST[dor];
$baños=$_POST[bañ];
$aseos=$_POST[aseo];
$sup=$_POST[supe];
$parcela=$_POST[parcela];
$anti=$_POST[antiguo];
$obser=$_POST[obser];
$foto=$_POST[imagen];
if($_POST[Enviar]){
//consulta sql que es bastante larga

}

$r=mysql_query($sql,$con) or die (mysql_error());
echo "Se ha insertado otro registro!!!";




}

mysql_close($con);


?>

</form>
</body>
</html>
  #8 (permalink)  
Antiguo 27/08/2006, 16:09
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 17 años, 7 meses
Puntos: 0
Prueba cambiando en la función javascript form.submit() por return true; y borrándolo también el onclick del submit onClick="validar(this.form)" poniéndolo en la etiqueta <form> onSubmit="return validar(this.form);".

Aquí puedes ver más info
  #9 (permalink)  
Antiguo 27/08/2006, 16:16
 
Fecha de Ingreso: agosto-2006
Mensajes: 34
Antigüedad: 17 años, 8 meses
Puntos: 0
me sigue haciendo lo mismo
  #10 (permalink)  
Antiguo 27/08/2006, 16:29
 
Fecha de Ingreso: agosto-2006
Mensajes: 34
Antigüedad: 17 años, 8 meses
Puntos: 0
ya lo he conseguido.

<script language=javascript>
function validar(form)
{
var error = "Por favor, antes de enviar el formulario,\ncomplete los siguientes campos:\n\n";
var a = ""

if (form.ref.value == "") { a += " Referencia\n"; }
if (form.tip.value == "") { a += " Tipo de inmueble\n"; }
if (form.gestion.value == "") { a += " Gestion\n"; }
if (form.prec.value == "") { a += " Precio\n"; }
if (form.zona.value == "") { a += " Zona\n"; }
if (form.pro.value == "") { a += " Provincia\n"; }
if (form.loca.value == "") { a += " Localidad\n"; }
if (form.dor.value == "") { a += " Dormitorios\n"; }
if (form.bañ.value == "") { a += " Baño\n"; }
if (form.aseo.value == "") { a += " Aseos\n"; }
if (form.supe.value == "") { a += " Superficie Construida\n"; }
if (form.parcela.value == "") { a += " Parcela\n"; }
if (form.antiguo.value == "") { a += " Antigüedad\n"; }
if (a != "") { alert(error + a); return false;}


}
</script>
<form action="insertar.php" method="post" onSubmit="return validar(this);">


muxas gracias
  #11 (permalink)  
Antiguo 27/08/2006, 16:32
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 17 años, 7 meses
Puntos: 0
Perfecto, eso mismo te iba a decir
Si todavía no la usas para estos casos te recomiendo la consola javascript del firefox, o mejor aún la extensión del firefox web developer
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 19:42.