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

Request.Form - Límite de caracteres

Estas en el tema de Request.Form - Límite de caracteres en el foro de ASP Clásico en Foros del Web. Hola a todos: Desde un TextArea de un Form paso información hacia otra y la recojo con Request.form sin ningun problema. El problema esta cuando ...
  #1 (permalink)  
Antiguo 29/11/2005, 11:54
Avatar de PMP
PMP
 
Fecha de Ingreso: febrero-2003
Ubicación: Chacabuco - Buenos Aires
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 1
Request.Form - Límite de caracteres

Hola a todos:

Desde un TextArea de un Form paso información hacia otra y la recojo con Request.form sin ningun problema.
El problema esta cuando la cantidad de caracteres es muy grande me genera error, como si se excediera la cantidad de caracteres que el Request.Form es capaz recoger.

¿Alguien sabe algo al respecto, si existe algun límite?

Muchas gracias.
  #2 (permalink)  
Antiguo 29/11/2005, 12:26
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 22 años
Puntos: 2
La verdad que desconozco sobre el límite del textarea, pero nunca me pasó y he enviado "cosas" realmente largas, a lo mejor el problema está que estas guardando los datos en un campo de una bd y éste si tiene el límite.

Sino es así, ¿qué tan grande son los datos que tratas enviar? ¿qué error específicamente te aparece?

Saludos
__________________
Sergio
  #3 (permalink)  
Antiguo 29/11/2005, 12:36
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, 3 meses
Puntos: 535
Si, el objeto request.form tiene un límite y me pasó justamente hace dos semanas con textos enoooormes (no recuerdo exactamente cuál es el límite ahora). Lo solucioné de la siguiente manera:

En la página que tiene el formulario:

Código:
<SCRIPT Language=JavaScript>
function BreakItUp()
{
  //Set the limit for field size.
  var FormLimit = 100000

  //Get the value of the large input object.
  var TempVar = new String
  TempVar = document.noticia.texto.value

  //If the length of the object is greater than the limit, break it
  //into multiple objects.
  if (TempVar.length > FormLimit)
  {
    document.noticia.texto.value = TempVar.substr(0, FormLimit)
    TempVar = TempVar.substr(FormLimit)

    while (TempVar.length > 0)
    {
      var objTEXTAREA = document.createElement("TEXTAREA")
      objTEXTAREA.name = "texto"
      objTEXTAREA.value = TempVar.substr(0, FormLimit)
      document.noticia.appendChild(objTEXTAREA)

      TempVar = TempVar.substr(FormLimit)
    }
  }
}
</SCRIPT>

<form action="noti_alta_exe.asp" method="post" name="noticia" id="noticia" onsubmit="BreakItUp()">
<textarea name="texto" rows="20" id="texto" style="width:100%"></textarea>
</form>

En la página que guarda en la BD ese texto largo:
Código:
<%
'...
For I = 1 To Request.Form("texto").Count
  texto = texto & Request.Form("texto")(I)
Next
'...
%>
Lo qué hace es crear tantos textareas como sean necesarios, cada uno con 100.000 caracteres (eso lo podés modificar), al momento de ocurrir el submit.
Luego, iterás los elementos de idéntico nombre (texto, en mi caso) y los concatenás en una variable que posteriormente usarás para guardarla en la BD.
__________________
...___...
  #4 (permalink)  
Antiguo 29/11/2005, 12:47
Avatar de PMP
PMP
 
Fecha de Ingreso: febrero-2003
Ubicación: Chacabuco - Buenos Aires
Mensajes: 214
Antigüedad: 21 años, 3 meses
Puntos: 1
Muchas gracias por su colaboración.
Intentaré solucionarlo como dice el Señor Al Zuwaga.
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 00:37.