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

VALUE="<%=request.form("nombre")%>"

Estas en el tema de VALUE="<%=request.form("nombre")%>" en el foro de ASP Clásico en Foros del Web. Estoy haciendo un formulario para actualilzar datos de los usuarios, en el que tras una serie de condiciones escribo en pantalla (response.write) otro formulario con ...
  #1 (permalink)  
Antiguo 18/07/2005, 04:36
 
Fecha de Ingreso: julio-2005
Mensajes: 13
Antigüedad: 19 años, 10 meses
Puntos: 0
VALUE="<%=request.form("nombre")%>"

Estoy haciendo un formulario para actualilzar datos de los usuarios, en el que tras una serie de condiciones escribo en pantalla (response.write) otro formulario con los datos del usuario sacados de la base de datos. Para escribir los datos en los text del formulario me gustaría utilizar algo como esto:

VALUE="<%=request.form("nombre")%>" (esta sacado de aquí http://www.desarrolloweb.com/articul....php?manual=11)

pero el inconveniente que me encuentro es que en mi código está dentro de un response.write y me da un error de compilación debido al <%%>

En el caso del ejemplo anterior quedaría algo así

Response.Write("<INPUT TYPE=\"text\" NAME=\"nombre\" VALUE=\"<%=request.form("nombre")%>\"> ");

Esto último está escrito en JavaScript.

Gracias.
  #2 (permalink)  
Antiguo 18/07/2005, 05:38
Avatar de g_susdaniel  
Fecha de Ingreso: mayo-2001
Ubicación: Frente al Monitor :þ
Mensajes: 995
Antigüedad: 24 años
Puntos: 0
Exclamación

tienes varias maneras de hacerlo, una sería así ...

Código:
Response.Write ("<INPUT TYPE=text NAME=nombre VALUE='"&Request.Form("nombre")&"'")
otra sería, cerrando al tag asp %> justo antes de colocar el input y abriendolo cuando lo necesites de nuevo:

Código:
%>
<INPUT TYPE="text" NAME="nombre" VALUE="<%=request.form("nombre")%>"> 
<% 
__________________
No, no no... no hay firma...
  #3 (permalink)  
Antiguo 18/07/2005, 08:50
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
yo agregaria una mas a lo que dijo g_susdaniel
Código:
Response.Write ("<INPUT TYPE=""text"" NAME=""nombre"" VALUE=""" & Request.Form("nombre") & """")
saludos
__________________
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!!
  #4 (permalink)  
Antiguo 18/07/2005, 11:14
 
Fecha de Ingreso: julio-2005
Mensajes: 13
Antigüedad: 19 años, 10 meses
Puntos: 0
Os cuento lo que pasa. Yo lo tenía hecho de la primera forma, y me escribía perfectamente en cada text el contenido de la base de datos (lo del request.form era un ejemplo). El problema surgía al enviar el nuevo formulario a otro .asp, donde lo recogía y lo trataba con una serie de funciones (con expresiones regulares para verificar la corrección de los datos), las cuales me decian que los datos eran incorrectos, siendo estos los que estaban guardados inicialmente en la base de datos, los cuales al guardarse en la en ella pasaron la misma serie de funciones que ahora no los aceptan.

Por eso pensaba que el problema estaba en como escribia los datos en el nuevo formulario, porque todo lo demás funciona perfectamente en otros formularios de la página.

Bueno resumidamente el proceso que sigen los datos.


formulario.html

Aquí el usuario escribe un formulario de para identificarlo. Se envia a primero.asp

primero.asp

var dni=new String(Request.Form("dni")); (recojo los datos de formulario.html)


//(compruebo que los datos estan bien escritos con las funciones que dije antes y miro si el usuario está en la base de datos)

%>
Dirección</br><input name="dirección" id="dirección" size="40" maxlength="40" value=" <%=rs("dirección")%> "/></br>
<% (Escribo los datos de la BD en los campos de texto)

//Envio el formulario a segundo.asp

segundo.asp

var dirección=new String(Request.Form("dirección")); (Leo los datos que leí antes de la BD)

/// (Trato los datos con las mismas funciones que los trataron en el formulario anterior, pero en esta ocasión no me los acepta????? Primer problema)

// Me conecto a la BD

var rs=Server.CreateObject("ADODB.Recordset");
rs.Open("SELECT * FROM Usuarios WHERE dni=('"+dni+"');",conexion);
(selecciono al individuo que quiere modificar los datos)

Aquí surge el segundo problema si pongo esto por ejemplo

var probar1 =rs("nombre");

me sale el siguiente error

El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.

Os pongo los dos problemas juntos porque me parece que es debido a lo mismo, como si no pudiese leer los datos que recojo el formulario (lo he comprobado con un Response.Write y si me los imprime).
  #5 (permalink)  
Antiguo 18/07/2005, 11:34
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Si la linea var probar1 =rs("nombre"); te da el error que mencionas, es por que el rs.Open no regresó ningún registro. Debes colocar un condicional para esta salvedad.
  #6 (permalink)  
Antiguo 18/07/2005, 11:58
 
Fecha de Ingreso: julio-2005
Mensajes: 13
Antigüedad: 19 años, 10 meses
Puntos: 0
En el código original lo tengo puesto en una condicional (sino no hubiera podido leer el problema que me da las funciones) pero el problema no creo que sea ese pues el registro si que existe. Es como si fueran datos de distinto tipo y no pudiera compararlos, no se tiene que ser algo asi, ya que como dije antes el contenido de los text los analizo con una función con expresiones regulares para comprobar que son correctos y me dice que no, y esos mismos datos la misma función a la hora de ingresarlos si me los aceptaban. Y supongo que algo parecido pasará en el SELECT.

La verdad es que ya no se por donde cogerlo de tantos cambios que le he hecho para probar
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 14:44.