Foros del Web » Creando para Internet » HTML »

Urgente.Ancho de tabla se desmadra

Estas en el tema de Urgente.Ancho de tabla se desmadra en el foro de HTML en Foros del Web. Estoy haciendo una pagina que recoge las opiniones enviadas de una db los datos . He hecho una tabla con un ancho width="650" dentro he ...
  #1 (permalink)  
Antiguo 28/10/2005, 17:08
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 19 años
Puntos: 1
Urgente.Ancho de tabla se desmadra

Estoy haciendo una pagina que recoge las opiniones enviadas de una db los datos . He hecho una tabla con un ancho width="650" dentro he metido otra tabla con el mismo ancho y varias celdas y a la que recoge el tema le he dado el mismo ancho ya que es de una unica columna. El caso es que si alguien envia una opinion con una palabra super largaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaa y mas aaaaaa la tabla no me respeta el ancho que le he dado, si alguien me puede hechar un guante. Gracias de antemano Un saludo.
  #2 (permalink)  
Antiguo 28/10/2005, 17:48
gmansi
Invitado
 
Mensajes: n/a
Puntos:
Probá ponerle la opción nowrap a la celda que querés mantener fija.

Por ejemplo:

<table border="0" width="650">
<tr>
<td width="650" nowrap></td>
....
  #3 (permalink)  
Antiguo 29/10/2005, 02:02
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 19 años
Puntos: 1
nowrap no funciona

gmansi gracias por responder
nowrap no me ha funcionado, la celda en cuestion es esta,
<td colspan="4" width="650" nowrap ><?php echo $row_Recordset1['mensaje']; ?></td>
Y la historia es que si alguien escribe en en formulario de envio de mensaje una palabra larguisimaaaaaaaaa que ocupe mas que el ancho de la celda la palabra en cuestion no se corta y me desmadra el ancho de la tabla, se os ocurre algo. Gracias
  #4 (permalink)  
Antiguo 29/10/2005, 02:21
gmansi
Invitado
 
Mensajes: n/a
Puntos:
Hummmm es complicado... la única solución pasaría por hacer que la persona digite el campo dentro de una ventana de Javascript y que luego el contenido de esa ventana lo cortes (si fuera necesario) de alguna manera antes de asignarlo al campo.... la verdad que es difícil...
  #5 (permalink)  
Antiguo 29/10/2005, 02:36
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 19 años
Puntos: 1
¿ Solucion javascript ?

¿Tal vez la solucion sea asignar al textarea del formulario un javascript que controle el maximo de caracteres de las palabras insertadas en el formulario ?
En este momento tengo que irme sino mi compañera me corta las p........
Gracias
  #6 (permalink)  
Antiguo 29/10/2005, 02:49
gmansi
Invitado
 
Mensajes: n/a
Puntos:
Sí, a algo así me refería. Si encuentro solución te aviso.

  #7 (permalink)  
Antiguo 29/10/2005, 02:50
gmansi
Invitado
 
Mensajes: n/a
Puntos:
Dale una mirada a esto:

http://javascript.tunait.com/javascr...palabraslargas

Verifica la longitud de las palabras introducidas en un textarea.

Pensado para evitar que se deformen las tablas de los foros, libros de visitas, sistemas de comentarios, etc. porque algún usuario ponga una palabra tipo 'holaaaaaaaaaaaaaaaaaaaaaaaaaaaa' (o más larga).


es justo lo que precisas !

  #8 (permalink)  
Antiguo 29/10/2005, 05:30
 
Fecha de Ingreso: marzo-2003
Ubicación: Chivilcoy
Mensajes: 142
Antigüedad: 21 años, 7 meses
Puntos: 0
Fijate que con la propiedad MaxLenght del textbox puedes limitar la cantidad de caracteres que el usuario ingresa. Esa sería la solución más sencilla ya que no necesitarías código adicional.
Otra cosa que podrías ver es que PHP cuenta con funciones que permiten tomar solo parte de un string. Podrías armar una función que cuente los caracteres a imprimir, y en el caso que el campo de la bd contenga más caracteres que los que entran en la celda, inserte un tag <br> para cortar la frase (incluso puedes buscar un espacio en blanco dentro de la frase para no cortar una palabra).
Saludos
__________________
Leandro Mandarano
Cyper Developments
http://www.cyper.com.ar
  #9 (permalink)  
Antiguo 29/10/2005, 06:49
gmansi
Invitado
 
Mensajes: n/a
Puntos:
Hola Neoxs, en este caso Maxlength creo que no sirve, porque con esa función controlas el largo total de todo lo escrito, pero no el largo de cada palabra.

O sea, lo que quiere atiro8 es que la gente pueda escribir mucho texto, pero dentro de ese texto que no pongan palabras exageradamente largas.

Saludos
  #10 (permalink)  
Antiguo 29/10/2005, 08:56
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 19 años
Puntos: 1
gmansi ha entendido mi problema

buenas otra vez, el problema que tengo es el que dice gmansi, el script de la direccion que has puesto me iria perfecto pero lo acabo de probar y me da un error en tiempo de ejecucion >>>( linea 23 falta;) si os dais cuenta en el enlace que ha puesto gmansi enlace script y luego clicando en leer comentarios se les des...... la tabla y no queda muy estetico Un saludo Gracias
  #11 (permalink)  
Antiguo 29/10/2005, 09:31
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 19 años
Puntos: 1
Ya soy un poco mas feliz, acabo de en contrar el fallo del script, faltaba un espacio en la linea que pone largo, bueno pongo el script , igual alguien lo necesita:
Esto va debajo de title ( cambiando el valor a palabrotas se controla la longitud maxima que quieres que tengan las palabras)


<script language="Javascript">
//Controlador de palabras largas
//verifica que la cadena no sea una dirección de e-mail
// verifica que no sea una url
//en caso de usarse para unos foros verifica...
//que la cadena no sea código para insertar una imagen
//script por tunait! http://javascript.tunait.com/
function pepe(texto2,donde)
{
pLink = /^\[url[=]?[\w\*":.\/]*\][\w\*":.\/\[\]]+\[\/url\]$/
pImagen = /^\[img?(=left)?(=right)?\][\w:".\/]*\[\/img(=left)?(=right)?\]$/
pUrl = /^https?:\/\/[\w\.]+/
pCodigo = /^<[\w\.\"\'\$\(\)\= #\?&%@\[\]\;]+>$/
pCodigo2 = /="[\w\.:\/\-"\+\=\?\&\#%@\$'\(\)\[\]\;]+"/
pMail = /^[\w\_\.çñ]{2,255}@[\w]{2,255}\.[a-z]{1,3}\.?[a-z]{0,3}$/
var palabrota = 15
palabras = texto2.split(/\s/)
largo = palabras.length
for(m=0;m<largo;m++)
{
if(palabras[m].length > palabrota)
{
if (pLink.test(palabras[m]))
{continue}
if (pImagen.test(palabras[m]))
{continue}
if (pUrl.test(palabras[m]))
{continue}
if (pCodigo.test(palabras[m]))
{continue}
if (pCodigo2.test(palabras[m]))
{continue}
if (pMail.test(palabras[m]))
{continue}
texto3=palabras[m].substr(0,palabrota)+" "
for(h=palabrota;h<palabras[m].length;h+=palabrota)
{
texto3+=palabras[m].substr(h,palabrota)
}
texto2=texto2.replace(palabras[m],texto3)
donde.value=texto2
pepe(texto2,donde)
//*************************************************
}
}
}
</script>


Y esto va en el textarea
<textarea onBlur="pepe(this.value,this)" name="mensaje" cols="44" rows="10" id="mensaje"></textarea>

Última edición por tunait; 07/12/2005 a las 02:22
  #12 (permalink)  
Antiguo 29/10/2005, 14:36
gmansi
Invitado
 
Mensajes: n/a
Puntos:
PERFECTO!!!

Me parece que está bien así, una palabra de más de 15 caracteres no es necesaria en nuestro idioma.

Saludos!

  #13 (permalink)  
Antiguo 29/10/2005, 17:18
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 19 años, 5 meses
Puntos: 7
Es mejor si le haces un estilo css y colocas ahi el las medidas de las tablas
y ashi eviaras que se este moviendose.
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #14 (permalink)  
Antiguo 09/11/2005, 13:27
Avatar de Tre_Cool  
Fecha de Ingreso: febrero-2005
Mensajes: 25
Antigüedad: 19 años, 9 meses
Puntos: 0
con razón no me funcionaba el script, gracias por la correción :D
funciona a la perfección.
  #15 (permalink)  
Antiguo 10/11/2005, 02:03
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Qué tal

atiro8, me encanta que hayas solucionado el tema ahora bien, al script le faltan las primeras líneas que hacen referencia al autor y sitio del script. Por favor, agrégalas, pues es la condición que el autor pide para poder hacer un uso libre del script.

Mantengamos los créditos de los autores. Es lo menos que podemos hacer

Un saludo
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 05:50.