ASP - Cancelar submit o validacion

 
Vista:

Cancelar submit o validacion

Publicado por Jose (3 intervenciones) el 14/05/2002 11:44:13
Hola, mi pregunta es si se puede cancelar un Submit. Me explico, tengo un formulario para dar de alta un registro en una tabla, ok? Cuando le doy al boton de Submit en el OnClick() de este llamo a una funcion en VBScript para evaluar q el usuario no se ha dejado ningun campo obligatorio por rellenar y hacer otras validaciones. Entonces si se ha dejado algun campo obligatorio en blanco muestro un mensaje de error con una msgbox. Entonces aqui me interesaria cancelar el Submit, se puede hacer?
Tb he pensado en hacer estas validaciones en la pagina asp a la q te manda el submit(q en este caso es a ella misma) y alli validar cada campo mediante Request.Form("Nombre_del_Campo") y entonces ejecutar el alta, volver a mostrar el formulario vacio, o (lo q quiero conseguir con todo esto) mostrar el formulario con los datos q havia introducido el usuario junto con un mensaje (ya sea mediante msgbox o escrito en la pagina mediante HTML) para q acabe de rellenar el formulario.
Me he leido un par de libros y los dos te dicen como hacer conexiones a BD, dar de alta, baja, modificar registros, hacer un foro, un chat, .... y muchas cosas mas la mar de interesantes pero no hablan de validar campos, algo q para mi es muy necesario.
Si alguien me puede echar una mano pq la necesito de veras me puede enviar un mensaje a: [email protected] (trabajo) o [email protected] (casa) o a las dos y asi seguro q lo veo pq se me acaba el contrato y aun no se nada.

Gracias y perdon por las molestias.

DEEEEEEEEEEEEEEEEEUUUUUUUUUUUUUUUUUUUUUUUUUUU!!!!!!!!!!1
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cancelar submit o validacion

Publicado por Victor Collado (77 intervenciones) el 14/05/2002 15:53:27
Hola
Debes poner tu button submit al type=Button y no a submit es decir input type=Button y llamas a tu script , debe esta forma estas cancelado el submit como tu dices, controlas que todo este correctamente y solo entonces envias tu formulario, Te aconsejo que lo valides con javascript ya que si lo haces con script de servidor , tu formulario es enviado al server se valida alli y si hay errores debes mandarlo de nuevo al cliente para rectificar, de esta forma toma tiempo y el cliente se puede molestar .
Un pequeño ejemplo, en este ejemplo controlo que se haya introducido el nombre en un textbox1 pero tu lo puedes aumentar las veces que quieras, aumentando las clausulas If, en este ejemplo nuestro button se llama cmdEnviar:
<SCRIPT LANGUAGE=javascript>
function cmdEnviar_onclick()
{
var returnStatus = 1;

if (document.NombreFormulario.TextBox1.Value == "")
{
alert("Debe introducir su nombre!");
returnStatus = 0;

if (returnStatus > 0 )
{

document.NombreFormulario.submit();
}
}
</script>
Como ves solo envio el formulario si en el Textbox1 se ha introducido un nombre.
Para vaciar los campos introducidos mal debes poner los campos vacios con document.NombreFormulario.TextBox1.value = ""
si todo esta correcto y se envia el formulario este sera enviado a la pagina que hayas puesto en tu action de la etiqueta Form.
Y recuerda debes poner <input type=button name=cmdEnviar> en vez de input type=submit
Saludos
Victor collado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cancelar submit o validacion

Publicado por javier (220 intervenciones) el 14/05/2002 16:28:00
puedes hacer una cosa muy simple, como minimo en javascript
en la etiquta del sumbit la pones de la siguiente manera
<input type="submit" onclick="javascript: return validar();">
fijate que en antes de llamar a la función hay un return esto es util porque en la funcion validar devolveras un return true o un return false en funcion de si es correcto o no las validaciones. Si devuelves true se hace el submit, con un false no se envia
ej
function validar(){
if (document.formulario.campo.value==""){alert("el campo esta vacio");
return false;}
.....
return true;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar