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

textarea - el problema es d html o d asp

Estas en el tema de textarea - el problema es d html o d asp en el foro de ASP Clásico en Foros del Web. Les explico mi problema: A traves d un formulario dejo q el usuario escriba en un textarea el texto que desee, luego la página asp ...
  #1 (permalink)  
Antiguo 18/02/2003, 15:56
 
Fecha de Ingreso: agosto-2002
Mensajes: 139
Antigüedad: 21 años, 9 meses
Puntos: 0
Exclamación textarea - el problema es d html o d asp

Les explico mi problema:

A traves d un formulario dejo q el usuario escriba en un textarea el texto que desee, luego la página asp a la que apunta el form recoje la informacion i la guarda en una base de datos. Posteriormente el tetxo es mostrado en otra página aps q lo recoge de la bdd.

El problema viene cuando el usuario escribe en el textarea un fragmento de texto sin espacios con una anchura superior a la de la página que mostrara posteriormente ese texto.

Cuando esto ocurre, al tratarse de una sola palabra larga (no hay espacios) la pagina que lo muestra se hace ancha, aparece un scroll horizontal y fastidia todo el diseño/formato de la pagina.

Pues bién como soluciono esto? La verdad es que no tengo ni idea de si la solución pasa por incluir un parámetro en el tag del textarea o de si debo modificar el script al que apunta el formulario. O quizá deba hacer uso de javascript en la msima pagina del form?

Pues bueno, aqui les dejo mi problema, a ver si alguien lo sabe y me contesta.

Gracias.
  #2 (permalink)  
Antiguo 19/02/2003, 06:06
Avatar de Mignola  
Fecha de Ingreso: noviembre-2002
Ubicación: Templo Shaolin
Mensajes: 167
Antigüedad: 21 años, 7 meses
Puntos: 1
Eso mismo lo controle yo con JavaScript, es facilillo mira:

Código:
function confirma() {
	
    var cad = document.frm.mensaje.value;
       while (cad.search("\n") != -1) {
	    cad = cad.replace("\n"," ");
       }
       var matriz = cad.split(" ");
       for (i=0; i<matriz.length; i++) {
		if (matriz[i].length > 25) {
			alert("You Wrote a too long word.\n\nWORD: "+matriz[i]+"\tLength: "+matriz[i].length+" characters.\n\nThe maximum length is 25 characters.");
			frm.mensaje.focus();
			return false;
		}
       }
}
La textarea la llame mensaje... y creo q eso es todo...
Facil eh?
  #3 (permalink)  
Antiguo 19/02/2003, 11:53
 
Fecha de Ingreso: agosto-2002
Mensajes: 139
Antigüedad: 21 años, 9 meses
Puntos: 0
Gracias

Muchas gracias mignola, el script me va perfecto para lo que quiero hacer.

Solo por curiosidad, hay forma de hacer algo parecido en ASP, por lo de evitar los navegadores con javascript desactivado o las consecuencias de un obseso de la informática con tiempo libre i ganas de tacar las narices

Bueno, pues lo dicho, mi problema ya esta solucionado (gracias de nuevo) lo de ahora es por saber

Saludos
  #4 (permalink)  
Antiguo 19/02/2003, 13:14
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 3 meses
Puntos: 2
En ASP sería así, tomado de WebWizGuide.com:

Código:
  'Initialse variables
blnWordLenthOK = True
blnNewURL = False

'Read in user deatils from the add URL form

strInputDescription = Request.Form("description")

'Where someones has pressed return in there description replace this with a space 
'as otherwise the last word and first word on the line are seen as one word and may go over the 30 chraracter limit
strInputDescription = Replace(strInputDescription, vbCrLf, " ")


'Split-up each word in the description from the user to check that no word entered is over 30 characters
saryDescriptionWord = Split(Trim(strInputDescription), " ")
	

'Loop round to check that each word in the description entered by the user is not above the 30 characters
For intCheckWordLengthLoopCounter = 0 To UBound(saryDescriptionWord)
	
	'Initialise the intWordLength variable with the length of the word to be searched
	intWordLength = Len(saryDescriptionWord(intCheckWordLengthLoopCounter))
	
	'Get the number of characters in the longest word
	If intWordLength => intLongestWordLength Then 
		intLongestWordLength = intWordLength
	End If
		
	'If the word length to be searched is more than or equal to 30 then set the blnWordLegthOK to false
	If intWordLength => 30 Then 
		blnWordLenthOK = False
				
	End If
Next


'If the user has entered no words over 30 characters then write to database 
If blnWordLenthOK = True Then

'Aquí creas el recordset de escritura en la base de datos, desarrollas la SQL, etc... 

End If
Espero que te sirva.
  #5 (permalink)  
Antiguo 19/02/2003, 17:22
 
Fecha de Ingreso: agosto-2002
Mensajes: 139
Antigüedad: 21 años, 9 meses
Puntos: 0
Muchas gracias

Muchas gracias, de momento em vakle el d js que es mas sencillito pero lo conservaré por si algun dia me hace falta


Gracias de nuevo
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 23:15.