Foros del Web » Creando para Internet » CSS »

dos class en un td

Estas en el tema de dos class en un td en el foro de CSS en Foros del Web. Buenas, haber si puedo explicarme: Bien tengo un formulario el cual cada TD tiene una class para el titulo y el cual yo envio los ...
  #1 (permalink)  
Antiguo 21/05/2010, 05:36
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 10 meses
Puntos: 1
dos class en un td

Buenas, haber si puedo explicarme:

Bien tengo un formulario el cual cada TD tiene una class para el titulo y el cual yo envio los datos a otro PHP para comprobar si estan vacios (nulos) y en el caso de que haya alguno vacio yo vuelvo al formulario pasando los valores de las cajas de texto y entonces lo que quiero es que si la caja esta vacia el titulo (en el TD) se me ponga en rojo, y lo que hago es mandarlo a una funcion en php que cambio la class, y en definitiva no me hace caso y no me lo pone en rojo.

Sabriais alguna solucion?? esque lo que no quiero es hacer un javascript para que me muestre un alert con los datos incorrectos porque es bastante incomodo.

Espero haberme explicado bien y para alguna duda preguntad, Gracias
  #2 (permalink)  
Antiguo 21/05/2010, 05:46
fiu
 
Fecha de Ingreso: diciembre-2006
Ubicación: Barcelona
Mensajes: 128
Antigüedad: 17 años, 3 meses
Puntos: 8
Respuesta: dos class en un td

si quieres que se coloree despues de enviar el post, con php puedes añadirle un estilo o una clase:

<td <?php if(!isset($_post['nombre'])) { echo 'style="background-color:#F00"'; }>nombre : <input type="text" name "nombre"></td>

si lo que quieres es añadirselo antes de enviar el formulario mejor usar javascript poniendo un style.backgroundColor = "#F00" al td con una condicion getElementByName('nombre').value
(no escribo como quedaria el código que no estoy seguro si lo escribiria bien)
  #3 (permalink)  
Antiguo 21/05/2010, 05:50
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: dos class en un td

Mira te enseño parte del codigo haber si asi me explico mejor:

Este es la parte del formulario en la cual en la TD llamo a la funcion color pasandole el $objeto (es el valor) y el $valor (true o false si esta relleno o no)

<tr>
<td valign="middle" <?php color($nombre,$valor) ?>>Nombre*</td>
<td valign="middle" ><input type="text" name="nombre" size="30" maxlength="50" value="<?php echo $nombre ?>"/></td>
</tr>

y la funcion color es:

function color($objeto, $valor)
{
if ($valor && trim($objeto)=="")
echo "class='rojo'";
else
echo "class='texto-solicitud1b'";
}


asi te aclaras mejor?????
  #4 (permalink)  
Antiguo 21/05/2010, 05:51
fiu
 
Fecha de Ingreso: diciembre-2006
Ubicación: Barcelona
Mensajes: 128
Antigüedad: 17 años, 3 meses
Puntos: 8
Respuesta: dos class en un td

perdon que ahora leyendo el titulo de nuevo igual lo quieres en clase xD

vamos seria lo mismo, creas una clase .colorRojo { background-color:#F00; }
luego en php podrias poner echo 'class="colorRojo"';
y en javascript style.class='class2'
  #5 (permalink)  
Antiguo 21/05/2010, 05:54
fiu
 
Fecha de Ingreso: diciembre-2006
Ubicación: Barcelona
Mensajes: 128
Antigüedad: 17 años, 3 meses
Puntos: 8
Respuesta: dos class en un td

ah,

mmm, prueba poner return en lugar de echo para mostrar las clases

aun asi imagino que $nombre contiene el $_post['nombre'] y el $valor lo has tenido que comprobar antes. Creo que no hacen falta las 2 variables, con comprobar si $nombre esta vacio ya tienes la condicion.
  #6 (permalink)  
Antiguo 21/05/2010, 06:04
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: dos class en un td

he probado lo del return pero sigue haciendome lo mismo, parece que me cambia el estilo pero no me lo pone en rojo, bufff llevo dos dias y... esque no quiero hacerlo por javascript
  #7 (permalink)  
Antiguo 21/05/2010, 06:18
fiu
 
Fecha de Ingreso: diciembre-2006
Ubicación: Barcelona
Mensajes: 128
Antigüedad: 17 años, 3 meses
Puntos: 8
Respuesta: dos class en un td

no puedo probar el codigo para repararlo mejor, pero oye siempre puedes olvidarte de la funcion por si esta generando errores y ponerlo directamente:

<tr>
<td valign="middle" <?php if($valor) { echo "class='texto-solicitud1b'"; } else { "class='rojo'"; } ?>>Nombre*</td>
<td valign="middle" ><input type="text" name="nombre" size="30" maxlength="50" value="<?php echo $nombre ?>"/></td>
</tr>

total, si en $valor has puesto si está lleno o no, no veo para que necesitas las demás variables.
  #8 (permalink)  
Antiguo 24/05/2010, 01:47
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: dos class en un td

muchas gracias FIU pero tras haberlo intentado hacerlo de mil formas y como no me sale voy a utilizar JavaScript y sus alert, pero esque supongo que como a mi le molestara a mucha gente las pantallitas que te salen pero bueno, gracias
  #9 (permalink)  
Antiguo 24/05/2010, 13:14
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 3 meses
Puntos: 45
Respuesta: dos class en un td

Buenas,

para lo que quieres hacer es necesario usar javascript que se ejecuta del lado del cliente a no ser que hagas uso de ajax para enviar los datos al php que se ejecuta del lado del servidor. Pero no es necesario usar alert, se puede hacer lo que quieras: cambiar estilos, crear o modificar elementos... Puedes después de comprobar si el valor del campo es correcto, dirigir el foco a ese campo y cambiar su estilo a tu gusto, conservando los valores del resto de campos y sin necesidad de usar alert.
  #10 (permalink)  
Antiguo 24/05/2010, 13:55
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: dos class en un td

Gracias tecna, pero y como podria hacer lo de poner el foco en los campos que no ha rellenado y por ejemplo poner el titulo, es decir, el td en color rojo???
esque es un formulario para introducir usuarios y debe rellenar todos campos y si lo envia mal quiero que los campos en blanco ponga el titulo en rojo, gracias
  #11 (permalink)  
Antiguo 24/05/2010, 14:39
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 3 meses
Puntos: 45
Respuesta: dos class en un td

Buenas,

de lo que yo te hablaba es de la validación antes de enviar los datos, de ahí que te dijera que es necesario javascript y como todo, se puede hacer de muchas formas, tendrás que jugar con los eventos y asociar acciones a éstos. Para la validación de los campos puedes usar onchange para cuando cambie el contenido o todos al final con el evento onsubmit. Para poner el foco tendrás que asociar el evento onfocus al campo que quieras y el evento onblur se usa para cuando pierde el foco. Para asociar estilos puedes usar las propiedades del objeto CSS2Properties mediante style.nombrePropiedadCss, teniendo en cuenta que el nombre de algunas de ellas es diferente al usado en css. Y para asignar una clase se usa la propiedad className = 'valor' al elemento que quieras. En el foro de javascript encontrarás multitud de ejemplos.

Por supuesto la validación en el lado del servidor es más que aconsejable, por no decir imprescindible, que lo es, por temas de seguridad.
  #12 (permalink)  
Antiguo 24/05/2010, 14:55
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: dos class en un td

si, yo valido en javascript, al final del formuario en el onclick de un submit voy a una funcion de validar y si se va produciendo algun error entonces guardo en una variable un texto y al final de la funcion pregunto que si esa varible es distinta de blancos que me muestre un alert con ese error y mi intencion es unicamente el ir validando los datos y en vez de escribir un error quiero poner el titulo en rojo, como podria acer eso?? que sintaxis?? gracias de antemano

Etiquetas: class, dos
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 13:46.