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

quebradero de cabeza, cambiar input por textname

Estas en el tema de quebradero de cabeza, cambiar input por textname en el foro de ASP Clásico en Foros del Web. He aquí la pregunta: En mi pagina web (alojada en un hosting Windows ASP) tengo un formulario. El formulario lo he copiado de un original ...
  #1 (permalink)  
Antiguo 14/09/2004, 13:22
 
Fecha de Ingreso: abril-2004
Mensajes: 6
Antigüedad: 20 años, 1 mes
Puntos: 0
quebradero de cabeza, cambiar input por textname

He aquí la pregunta:


En mi pagina web (alojada en un hosting Windows ASP) tengo un formulario.
El formulario lo he copiado de un original que me envió el proveedor de hosting.
Como generalmente, se compone de un archivo html con los campos de texto para recabar información y un archivo asp para procesar:

A.- formulario hecho en html (uno típico , con campos de texto normales para ir dejando datos), este se llama testform.htm

B.- un archivo asp, llamado formmail.asp, que obviamente es el que procesa la información.


El problema surge porque en el archivo original, todos los espacios para rellenar el formulario eran “input”, osea, solo te dejeaba rellenar una sola línea, por ejemplo, un nombre.
Digamos que originalmente todos son:
<input name="email" type="text" id="email"> para el nombre
o
<input name="telephone" type="text" id="telephone"> para el telefono

Pero no tiene ningun espacio multilineal, ( osea, que no tiene ningun campo para escribir un texto largo que te permita dejar los comentarios,) yo necesito algo como….
<textarea name="realname" cols="32" rows="10" id="realname"></textarea>

Si voy al archivo formulario.html, puedo cambiar un input name por un textarea name, y con esto tener un espacio más largo para dejar comentarios y montón de líneas…..pero
No se como cambiarlo en el archivo formmail.asp, osea, no se en que lìnea debo indicarle que ya no es un input name, que ahora es un textarea name

Debido a todo esto, al enviar los datos al email, me procesa el resto de la información, pero no el espacio que sustituí, (cambie un input text name por un textarea name ) ese espacio me lo deja en blanco
Quisiera saber si alguien sabe como cambiar el archivo formmail.asp, para que lo procese de forma adeucuada este cambio, o si se les ocurre alguna otra forma

Para mejor explicación, pongo las líneas en donde esta el problema, copiadas de los archivos originales:



Testform.html
(C)
<form name="form1" method="get" action="formail.asp">
<p>Name:
<textarea name="realname" id="realname"></textarea>
</p>
<p>E-mail:
<input name="email" type="text" id="email">
</p>
<p>Telephone:
<input name="telephone" type="text" id="telephone">
</p>

(/C)

En cuanto a las líneas del archivo .asp, (que es realmente largo, y no creo que nadie quiera leerlo entero) voy a poner las variables, y si alguien conoce donde cambiar los valores, o tiene alguna idea, responderme, y voy poniendo partes del texto que contengan esos valores

Las variables:
(C)
'----------------------------------------------------------------------------------------------------
'declare variables
'----------------------------------------------------------------------------------------------------
Dim strFrom, strTo, strSubject, strBody
Dim objMessage, objConfig, strServer, intPort
Dim recipient, redirect, subject, realname, email, required, strEmail1, strEmail2
Dim referer, url, url_verified, icounter, query, iloop, query2, query3, i, agree, validation, error0, error0ok

'----------------------------------------------------------------------------------------------------
'retrieve form contents and create email fields
'----------------------------------------------------------------------------------------------------
query = Request.ServerVariables("QUERY_STRING")
query = split(query,"&")
query3 = split(required,",")
For iLoop = Lbound(query) to UBound(query)
query2 = split(query(iloop),"=")

'----------------------------------------------------------------------------------------------------
'form validation, checks required fields are not null
'----------------------------------------------------------------------------------------------------
for i = LBound(query3) to UBound(query3)
if query3(i) = query2(0) then
if query2(1) = "" then
response.write ("ese dato no es válido, por favor intenta otra vez ") & query2(0)
response.end
end if
'----------------------------------------------------------------------------------------------------
'replaces any special characters parsed through the query string
'-------------------------------------------------------------------------------------
tiene una largaaaaaa, lista, como no creo que el error este aqui, la omito
----------------------------------------------------------------------------------------------------
'this creates the body of the mail message, the text in quotes can be modified accordingly
'---------------------------------------------------------------------------------------------------
strBody = "Here is the results of your form submitted from" & referer(2) & vbnewline & vbnewline & "Name: " & realname & vbnewline & vbnewline & "Email: " & email & vbnewline & strBody & vbnewline & vbnewline & "############# End Formmail Tranmission #############"

(/C)
si alguien tiene un ejemplo parecido, o sabe algo sobre los valores, se los agradezco...
sondica.
  #2 (permalink)  
Antiguo 14/09/2004, 14:42
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Bueno, si envias por GET y recibes por QueryString, no hay diferencia entre un input y un textarea.
Si envias el text area llamado, por ejemplo, "texto", en la página donde lo esperas, solo basta con recibirlo con vtexto = request("texto"), y listo.

request solo, recibe tanto datos POST como GET
request.QueryString recibe solo datos GET
request.form recibe solo datos POST

El ciclo que tienes en tu programa es para "automatizar" la recepción al pasar los parámetros a arreglos, de la misma forma que sería por ejemplo:

<%for each v_entrada in request.form
for indice=1 to request.form(v_entrada).count
response.write v_entrada&"="&request.form(v_entrada)(indice)&"<br >"
next
next%>

Yo imprimiría el contenido de query2 (response.write query2(0) & " = " & query2(1)) para verificar que reciba algo. Pero lo que seguro te serviría es comprender mejor el funcionamiento del programa para deducir el error.

Saludos
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 21:43.