Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/11/2005, 12:36
Avatar de AlZuwaga
AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 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.
__________________
...___...