Foros del Web » Programando para Internet » Javascript »

Poner campo obligatorio

Estas en el tema de Poner campo obligatorio en el foro de Javascript en Foros del Web. Hola, tengo este ódigo que pongo a continuación, lo que quiero es que el campo PIN sea obligatoro. He pobado con diferentes JavaScript, pero me ...
  #1 (permalink)  
Antiguo 15/07/2005, 14:38
 
Fecha de Ingreso: julio-2005
Mensajes: 70
Antigüedad: 18 años, 9 meses
Puntos: 0
Poner campo obligatorio

Hola, tengo este ódigo que pongo a continuación, lo que quiero es que el campo PIN sea obligatoro. He pobado con diferentes JavaScript, pero me sale un mensaje diciéndome que tengo que escribir ese campo, hasta aquí perfecto, el problema es que cuando le doy a Aceptar, en vez de uedarse en ese formulario, ejecuta la búsqueda. ¿alguien sabe que tengo que escribir en este código para que ese campo s tenga que escribir por fuerza?

---codigo----

<HTML>

<head>

<TITLE> Filtros: Buscar por... </TITLE>
</head>
<%
If Session("userGood") = False or IsNull(Session("userGood")) = True then
Response.Redirect"default.asp"
End If
strUserName = Replace(Session("userName"), "'", "''")
userID = Clng(Session("userID"))
userAdmin = Replace(Session("userAdmin"), "'", "''")
Session("userID") = userID
%>


<!-- #INCLUDE File="prueba.inc" -->
<%IF (Request.Form <> "") THEN


IF (Request.Form ("Pagina") = "Pagina Siguiente") THEN
Session ("Pagina")= Session ("Pagina") + 1
ELSE IF (Request.Form ("Pagina") = "Pagina Anterior") THEN
Session ("Pagina")= Session ("Pagina") - 1
ELSE Session ("Pagina")= 1
END IF
END IF

Set Ob_Conn = Server.CreateObject ("ADODB.Connection")
Set Ob_RS = Server.CreateObject ("ADODB.RecordSet")
Ob_Conn.Open "xxxxx.com.asplogin"
Ob_RS.Open "tblCitas", Ob_Conn, adOpenStatic, adCmdTable

Poner_AND= False
Filtro= ""
FOR EACH Parametro IN Request.Form
IF Request.Form (Parametro) <> "" AND Parametro <> "PAGINA" THEN
IF Poner_AND THEN
Filtro= Filtro & " AND " & Parametro & "='"
Filtro= Filtro & Request.Form (Parametro) & "'"
ELSE
Filtro= Filtro & Parametro & "='"
Filtro= Filtro & Request.Form (Parametro) & "'"
Poner_AND = True
END IF
END IF
NEXT
Filtro= LCase (Filtro)
Ob_RS.Filter = Filtro

IF NOT Ob_RS.Eof THEN %>
<CENTER>
<% Ob_RS.PageSize = 9
Ob_RS.AbsolutePage = Session ("Pagina") %>
<H3> <%= Session ("") %> <%= Ob_RS.PageCount %> </H3>
<TABLE BORDER=1>
<TR>
<% Num_Campos= Ob_RS.Fields.Count
FOR Campo=0 TO Num_Campos - 1 %>
<TH> <%= Ob_RS (Campo).Name %> </TH>
<% NEXT
Registro=0
DO WHILE Registro < 30000 AND NOT Ob_RS.Eof %>
<TR>
<% FOR Campo=0 TO Num_Campos -1 %>
<TD> <%= Ob_RS(Campo) %> </TD>
<% NEXT
Registro= Registro + 1
Ob_RS.MoveNext
LOOP %>
</TABLE>
<BR>
<FORM METHOD="Post" ACTION="filtro.asp">
<% FOR EACH Parametro IN Request.Form
IF Request.Form (Parametro)<>"" AND Parametro <> "PAGINA" THEN %>
<INPUT TYPE="Hidden" NAME=<%=Parametro %> VALUE=<%=Request.Form("Parametro")%>>
<% END IF
NEXT
IF Session ("") > 1 THEN %>
<INPUT TYPE="Submit" VALUE="Pagina Anterior" NAME="Pagina">
<% END IF
IF Session ("") < Ob_RS.PageCount THEN %>

<% END IF %>
</FORM>

<% ELSE Response.Write "<H3> NO SE HA ENCONTRADO NINGUNA CITA INTRODUCIDA </H3><BR>"
END IF %>

<a href="filtro.asp">Buscar nueva Cita</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href=main.asp>Inicio</a>

<% Ob_RS.Close
Ob_Conn.Close

ELSE %>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="804" height="71">
<tr>
<td width="626" height="22" valign="bottom" align="center">
<p align="left"><FONT face=Arial>
<img border="0" src="images/sublogo.jpg" width="222" height="49">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<img border="0" src="images.jpg" width="191" height="49"><HR noShade width=600 align="left">
</FONT></td>
<td width="185" height="71" rowspan="2" valign="top" align="center"></td>
</tr>
<tr>
<td width="626" height="49" valign="top" align="center">
<p align="center"><FONT face=Arial><B>Buscar Citas.</B></FONT><BR>
<font face="Arial" color="#414034">Introduce el nombre de la persona
que ha introducido una Cita</font>
<br>
&nbsp;<HR noShade width=600 align="left">
</td>
</tr>
</table>
</center>
</div>

<FORM name="form1" FORM METHOD="Post" ACTION="filtro.asp">
<p align="center">
<font face="Arial" size="2"><b>
Introduce tu PIN:
</b></font>

<input type="text" name="pin" size="4" maxlength="4"><font face="Arial" size="2"><b>
<br>
<br>
&nbsp;
<INPUT class=clsButton style="FONT-WEIGHT: bold; COLOR: #ffffff; BACKGROUND-COLOR: #6699cc" INPUT TYPE="Submit" VALUE="Buscar">&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; <INPUT class=clsButton style="FONT-WEIGHT: bold; COLOR: #ffffff; BACKGROUND-COLOR: #6699cc" INPUT TYPE="Reset" VALUE="Borrar">
</b></font>
</FORM>
<% END IF %></BODY></HTML>

----fin codigo-----
  #2 (permalink)  
Antiguo 15/07/2005, 16:04
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
asu.. solo ponme el codigo javascript, el boton de aceptar y la etiqueta form... xq la verdad me raya mucho q esté todo tan desordenado
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #3 (permalink)  
Antiguo 15/07/2005, 16:19
 
Fecha de Ingreso: julio-2005
Mensajes: 70
Antigüedad: 18 años, 9 meses
Puntos: 0
Hola,

el código Javascript que probé ya no sé donde para, la verdad es que probé muchísimos y siempre me daba el mismo problema.

simplemente lo que busco es la forma de que por narices ese campo llamado pin se tenga que escribir nada más.

he probado incluso con las extensiones del frontpage y nada de nada, en el momento en que le doy a Buscar, ya me saca todo el contenido de esa tabla.
De echo, es lo que quiero, pero antes necesito que escriban 4 digitos en ese campo.

Vamos una función javascript que obligue al usuario al ello, y en el caso de que lo dejen vacío, le avise pero que ya no ejecute la orden filtro.asp.

Yo he conseguido que me salga esa mensaje de advertencia si lo dejo vacio, pero es darle a Aceptar y después me ejecutaba el filtro.asp.

Gracias.
  #4 (permalink)  
Antiguo 15/07/2005, 19:25
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 5 meses
Puntos: 16
mira en la biblioteca de funciones hay una funcion para validar formularios ahora si no es eso lo que buscar yo creo que te pueden ayudar mas en el foro de Javascript saludos y suerte
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #5 (permalink)  
Antiguo 16/07/2005, 08:11
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años
Puntos: 4
Si, esto es tema de javascript.
  #6 (permalink)  
Antiguo 16/07/2005, 08:28
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años
Puntos: 9
Al dar al botón aceptar, se llama a alguna función javascript?, porque si no es así, ahí está el problema. Cuando des a aceptar, se tendría que llamar a una función javascript, que sea la que valide si el campo contiene o no cuatro digitos. Si contiene los valores que deseas, entonces haces document.tu_form.submit(), si no lo contiene, entonces le mandas el alert().
Si el botón aceptar, es de tipo submit, por más que llame a alguna función que valide, siempre te va a hacer el submit, justamente porque esa es la tarea que realizas. Por eso, en lugar de poner <input type="submit">, deberías poner <input type="button">, y que ese botón llame a la función de validación.
De todas formas, si es tan importante el valor qeu el usuario pueda ingresar en ese campo, quizás lo mejor sería validarlo en el servidor.
Saludos!.
__________________
Add, never Remove
  #7 (permalink)  
Antiguo 16/07/2005, 12:09
 
Fecha de Ingreso: julio-2005
Mensajes: 70
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por mariano_donati
Al dar al botón aceptar, se llama a alguna función javascript?, porque si no es así, ahí está el problema. Cuando des a aceptar, se tendría que llamar a una función javascript, que sea la que valide si el campo contiene o no cuatro digitos. Si contiene los valores que deseas, entonces haces document.tu_form.submit(), si no lo contiene, entonces le mandas el alert().
Si el botón aceptar, es de tipo submit, por más que llame a alguna función que valide, siempre te va a hacer el submit, justamente porque esa es la tarea que realizas. Por eso, en lugar de poner <input type="submit">, deberías poner <input type="button">, y que ese botón llame a la función de validación.
De todas formas, si es tan importante el valor qeu el usuario pueda ingresar en ese campo, quizás lo mejor sería validarlo en el servidor.
Saludos!.
Hola, he utilizado este código

<SCRIPT LANGUAGE="JavaScript">
<!--
function validar(pin)
{

hola=document.form1.elements[pin]
if (pin.value == "")
{
alert ("No puedes dejar el campo vacío");
pin.focus();
return false;
}
else return true;
}
//-->
</SCRIPT>

<INPUT class=clsButton style="FONT-WEIGHT: bold; COLOR: #ffffff; BACKGROUND-COLOR: #6699cc" INPUT TYPE="submit" VALUE="Buscar" onClick="validar(pin)">

Si lo dejo así, al ejecutar me sale el mensaje de campo vacío, y después muestra la tabla, después, he echo lo que me has dicho, y en vez de submit, he puesto button, y efectivamente si lo dejo vacío, me sale el mensaje y se queda ahi, que es lo que quiero. El problema viene, que cuando escribo algo en ese campo, al darle al botón, ya no se ejecuta nada.
  #8 (permalink)  
Antiguo 16/07/2005, 12:36
 
Fecha de Ingreso: julio-2005
Mensajes: 70
Antigüedad: 18 años, 9 meses
Puntos: 0
Hola, si lo pongo como me has dicho pasa esto:

1. si pongo INPUT TYPE="submit" VALUE="Buscar" onClick="validar(pin)"
al dejar el campo vacío, me salta el mensaje y luego se ejecuta la orden.

2. si pongo INPUT TYPE="button" VALUE="Buscar" onClick="validar(pin)"
al dejar el campo vacío, me salta el mensaje y luego ejecuta la orden, y si escribo algo en el campo, no me sale nada pero tampoco se ejecuta nada.

Asi que sigo igual, gracias de todas formas.
  #9 (permalink)  
Antiguo 16/07/2005, 12:55
 
Fecha de Ingreso: enero-2004
Ubicación:
Mensajes: 108
Antigüedad: 20 años, 2 meses
Puntos: 0
es error de javascript, mira la sintaxis...
  #10 (permalink)  
Antiguo 16/07/2005, 13:03
 
Fecha de Ingreso: julio-2005
Mensajes: 70
Antigüedad: 18 años, 9 meses
Puntos: 0
POR FINNNNNNNNNNNNNNNNNNNN

ya está, el código javascript funcionaba, el problema estaba en el dichoso navegador, estaba utilizando el Firefox, sin embargo el Explorer me lo acepta perfectamente.

Lástima que no funcione en Firefox pero que le vamos a hacer.

Gracias.

Última edición por Hereze; 16/07/2005 a las 13:10
  #11 (permalink)  
Antiguo 17/07/2005, 01:27
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Errr.. si no te funciona en firefox es que algo estás haciendo mal. Tratá de solucionarlo!

;)

Por cierto, movido desde ASP
__________________
...___...
  #12 (permalink)  
Antiguo 17/07/2005, 08:19
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
cambiale la forma de obtener el valor de los campos

pj;

<SCRIPT LANGUAGE="JavaScript">
<!--
function validar(pin)
{

hola=document.forms['form1'][pin];
if (hola.value == "")
{
alert ("No puedes dejar el campo vacío");
hola.focus();
return false;
}
else return true;
}
//-->
</SCRIPT>

<INPUT class=clsButton style="FONT-WEIGHT: bold; COLOR: #ffffff; BACKGROUND-COLOR: #6699cc" INPUT TYPE="submit" VALUE="Buscar" onClick="validar(pin)">

probalo, tal ves sea ese el problema

suerte
__________________
by Capitán Buscapina
.
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 22:54.