Foros del Web » Programando para Internet » ASP Clásico »

No tengo claro 3 conceptos básicos de ASP. ¿Alguien me ayuda?

Estas en el tema de No tengo claro 3 conceptos básicos de ASP. ¿Alguien me ayuda? en el foro de ASP Clásico en Foros del Web. En lo siguiente, el lenguaje de script usado en ASP es javascript : Primero: ¿puedo acceder a los objetos DOM del documento desde ASP? Por ...
  #1 (permalink)  
Antiguo 14/01/2006, 12:34
 
Fecha de Ingreso: enero-2006
Mensajes: 30
Antigüedad: 19 años, 3 meses
Puntos: 0
No tengo claro 3 conceptos básicos de ASP. ¿Alguien me ayuda?

En lo siguiente, el lenguaje de script usado en ASP es javascript:

Primero:
¿puedo acceder a los objetos DOM del documento desde ASP?
Por ejemplo, para cambiar el color de la fuente si se produce un error en el formulario, tal y como lo haria con javascript.

Segundo:
en ASP ¿"Item" es anólogo al "value" de javascript? Por ejemplo:
Quiero comprobar que un campo de un formulario está vacío:

En JavaScript usaba un:
getElementById("nombre").value.length == 0.

Ahora en ASP sería:
¿ Request.Form("nombre").item.length == 0)
ó
Request.Form("nombre").length == 0) ?

Si es la primera, no lo entiendo, porque tenía entendido que Request.Form() recupera el valor del campo (el "value").


Y tercero:
En el javascript usado para validar en cliente, accedo a los campos usando "getElementById()" ó los DOM (document.form.email.....). Si en ASP no puedo usarlos, entonces,
¿cómo hago para validar un formulario en servidor usando el mismo script javascript que usaba para validar en cliente? ¿Es que tengo programarlo otra vez para ASP?

Gracias por la paciencia. Sí alguien me pudiera indicar algún manual donde expliquen todas estas cosas, se lo agradecería infinitamente.
  #2 (permalink)  
Antiguo 14/01/2006, 17:04
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 3 meses
Puntos: 4
en asp tienes que hacer lo siguiente

tienes que enviar al servidor todos los datos del formulario y alli se validaran

luego el codigo correcto para validar campos vacios es:
if request.form("nombre") = "" then ' use request.form suponiendo que envias los datos por metodo POST si lo envias por GET debe ser con request.querystring
'aqui la accion o mensaje de error
end if

si deseas saber la longitud del campo es asi

Dim nombre
nombre = request.form("nombre")
response.write len(nombre) ' esto imprime en pantalla el largo de lo que hay en la variable nombre.

espero te sirva de algo.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #3 (permalink)  
Antiguo 15/01/2006, 03:28
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 22 años, 5 meses
Puntos: 37
Espero te sea de alguna utilidad:
ASP se programa con diversos lenguajes, el mas comunmente usado es Javascript, ASP es un lenguaje que corre en el SERVIDOR.

JAVASCRIPT es un lenguaje limitado, con sintaxis similar al JAVA (por razones comerciales le llamaron asi), que es ejecutado en el NAVEGADOR (en el cliente).

DOM (Document Object Model) es el modelo de objetos que usa el EXPLORADOR (el cliente), de modo que con javascript o con jscript o con vbscript(corriendo en el cliente) puedes MANIPULAR los objetos referenciados.


Primero:
¿puedo acceder a los objetos DOM del documento desde ASP?
Por ejemplo, para cambiar el color de la fuente si se produce un error en el formulario, tal y como lo haria con javascript.
RESPUESTA: NO, dado que los objetos residen en el cliente, solo un lenguaje que corra en el NAVEGADOR puede acceder a estos objetos.
Las variables que ASP (corriendo en el servidor) SI RECONOCE son aquellas que le han sido enviadas mediante una peticion de URL, ya sea enviando las variables a traves de un POST o de un GET, y en esas peticiones, el navegador NO ENVIA LOS OBJETOS del DOM, sino unicamente las variables de un <FORM> o de un <a HREF>

En la peticion viajan ocultas otras variables que envia el explorador, tales como: IP del solicitante, cookies, version del sistema operativo del cliente, etc.

ASP puede recibir la peticion, validar los campos enviados y ARMAR una NUEVA RESPUESTA hacia el navegador, dicha respuesta si puede contener variables y etiquetas HTML con las cuales el NAVEGADOR armara, mediante su esquema DOM los objetos necesarios para manejarlos y desplegar la respuesta.


----------------------------------------------------
Segundo:
en ASP ¿"Item" es anólogo al "value" de javascript? Por ejemplo:
Quiero comprobar que un campo de un formulario está vacío:
RESPUESTA
"Item" es nombre dado a un objeto en una coleccion de datos, tales como un RECORDSET, o bien en algun otro arreglo de elementos.
El servidor contiene una COLECCION DE DATOS en un objeto REQUEST donde almacena todo lo que llego desde el navegador en la peticion, por ello, puedes acceder a las variables de la COLECCION DE DATOS "REQUEST.form" o "REQUEST.querystring" mediante un ciclado tal como:
for obj in request.form
next

donde "obj" viene siendo cada "item"
o bien en un recordset
rsClientes.fields("nombre")
donde "fields" viene siendo el "item"

------------------------------------------
...¿Es que tengo programarlo otra vez para ASP?
RESPUESTA: si, tienes que validarlo nuevamente en el ASP si consideras que el dato pudo haber viajado desde el navegador con un valor invalido, en teoria, si colocaste un javascript eficiente en el navegador, evitara que una peticion sea enviada al navegador con un valor invalido, pero de no ser asi, no esta demas que tu ASP tambien pregunte por valores invalidos antes de intentar hacer, por ejemplo una actualizacion sobre una base de datos (con una fecha invalida, por ejemplo)

---------------------------------------
Ahora en ASP sería:
¿ Request.Form("nombre").item.length == 0)
ó
Request.Form("nombre").length == 0) ?

RESPUESTA:
ASP no maneja muy bien el enfoque de objeto.propiedad al menos tratandose de variables tipo caracter, como otros lenguajes, por ello seria:
dato = request.form("nombre")
letras = len(dato)
o bien
letras = length(dato) (no me viene a la mente la sintaxis correcta)
  #4 (permalink)  
Antiguo 15/01/2006, 03:29
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 22 años, 5 meses
Puntos: 37
Sorry, en el primer parrafo dice "ASP se programa con diversos lenguajes, el mas comunmente usado es Javascript, ASP es un lenguaje que corre en el SERVIDOR.", quise decir "el mas comunmente usado es Visual Basic Script"
  #5 (permalink)  
Antiguo 15/01/2006, 08:12
 
Fecha de Ingreso: enero-2006
Mensajes: 30
Antigüedad: 19 años, 3 meses
Puntos: 0
Gracias por la aclaración. Sobre todo me ha sido de gran ayuda tu aclaración sobre el acceso al DOM desde ASP.
Por cierto, en cuanto a lo de:

Request.Form("nombre").item.length == 0)
ó
Request.Form("nombre").length == 0) ?

haciendo pruebas resulta que es lo primero:

Request.Form("nombre").item.length == 0

Siempre que se use JavaScript.
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 10:43.