Comunidad de diseño web y desarrollo en internet online

Al aplicar estilo en radiobutton se ignora evento onclick

Citar            
MensajeEscrito el 25 Dic 2012 09:41 pm
Buenos días a las personas,
Tengo un formulario que contiene un par de radiobutton, pero les he aplicado un estilo mediante JS y CSS para que tengan una apariencia personalizada.
El problema es que al aplicarle estilo, al hacer "onclick" en el "radio" no se ejecuta el evento, en este caso debe mostrar una capa oculta.
gracias

Por carlos_k

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 25 Dic 2012 10:16 pm
y que esperas que hagamos?

Por HtrMancera

Claber

342 de clabLevel

1 tutorial

Genero:Masculino  

Front-end Developer

chrome
Citar            
MensajeEscrito el 27 Dic 2012 05:27 am
Buenas noches,
Solo espero cualquier recomendación respecto al problema planteado.
Creo que el titular del post lo resume, pero trataré de ser más preciso en mi explicación.

Tengo un formulario con algunos radiobuttons. Ahora bien, como el componente radiobutton me parece simplón, le he aplicado un estilo usando CSS y JS.
El radiobutton tiene un evento "onclick" que al seleccionar muestra una capa oculta. Ahora bien, este evento "onclick" es ignorado si el radiobutton tiene estilo.

Por ejemplo,
Así SI funciona (el radio NO tiene estilo, pero ejecuta el evento "onclick"):
<input onClick="showdiv()" type="radio"/>
Así NO funciona (el radio SI tiene estilo, pero NO el evento "onclick"):
<input onClick="showdiv()" type="radio" class="styled"/>

¿Porqué, al aplicarle "class="styled" deja de funcionar el evento onclick?
¿Alguna idea al respecto de porque ocurre esto?

Gracias nuevamente.

Por carlos_k

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Dic 2012 12:15 pm
Disculpa pero acá no sucede eso. Debes tener alguna cosa más que está interfiriendo con el comportamiento que esperas y que no está relacionado directamente con el radiobutton.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Dic 2012 02:06 pm
Puede ser que apliques alguna propiedad de css como z-index, la cual puede poner el elemento por debajo de otra capa probablemente transparente, con lo cual no puedes hacer click en él.
En dicho caso la solución sería poner un valor de z-index mayor.

Por Alivan

288 de clabLevel

3 tutoriales

Genero:Masculino  

Aprendo de Internet

chrome
Citar            
MensajeEscrito el 27 Dic 2012 09:07 pm
para no adivinar da mas detalles como que plugin o codigos estas usuando para personalizar el form...

o mejor si tiene alguna demo para ver cua les tu problema eso son pequeños detalles que resumen el trabajo de no adivinar y dar una buena respuesta Saludos..!

Por js_toni

93 de clabLevel



Genero:Masculino  

programar

firefox
Citar            
MensajeEscrito el 28 Dic 2012 02:52 pm
Seguramente el plugin o codigo que usas oculta el radiobuton y pone una imagen encima, es normal que no funcionen los eventos onclick por que esta oculto.

Por HtrMancera

Claber

342 de clabLevel

1 tutorial

Genero:Masculino  

Front-end Developer

safari
Citar            
MensajeEscrito el 28 Dic 2012 08:07 pm
En realidad no hay mucho más misterio de lo que estoy explicando, es decir, si le aplico estilo al radiobutton no ejecuta el evento "onclick" (en este caso mostrar una capa).

El CSS que estoy usando es:

/* Customizando radios y checksbox */
.checkbox, .radio {
width: 80px;
height: 20px;
padding: 0 5px 0 0;
background: url(imagesorderform/checkbox.png) no-repeat;
display: block;
clear: right;
float: left;
}
.radio {
background: url(imagesorderform/radio.png) no-repeat;
}
.select {
position: absolute;
width: 158px; /* With the padding included, the width is 190 pixels: the actual width of the image. */
height: 21px;
padding: 0 24px 0 8px;
color: #fff;
font: 12px/21px arial,sans-serif;
background: url(imagesorderform/select.png) no-repeat;
overflow: hidden;

}
---------------------------------------------------

Y los radiobuttons en el PHP:

YES<input onClick="mostrardiv()" type="radio" value="si" class="styled"/>
NO<input onClick="ocultardiv()" type="radio" value="no" class="styled" checked/>


Entonces como ya he dicho, así no funciona el evento onclick, pero si le elimino el "class="styled" si que funciona.

Por carlos_k

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Dic 2012 08:32 pm
Pero es que en el CSS no hay declarado ninguna clase "styled". ¿Estás usando algún "plugin
" JavaScript?.

Por qué no mejor nos pasas la URL del proyecto que estás haciendo así podemos "debugearlo" nosotros mismos?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 28 Dic 2012 08:34 pm
Pero no has puesto el contenido de la clase styled, que es la que importa.

Por Alivan

288 de clabLevel

3 tutoriales

Genero:Masculino  

Aprendo de Internet

chrome
Citar            
MensajeEscrito el 28 Dic 2012 08:58 pm
Estoy utilizando el recurso que viene en esta página:
http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/

Estoy haciendo unas pruebas. Si no lo logro regreso para ampliar la información.

gracias

Por carlos_k

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Dic 2012 09:33 pm
bueno no hay manera.
Os dejo el enlace a ver si veis en el código
http://carlosllopis.com/radio/radio.php

gracias nuevamente

Por carlos_k

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 29 Dic 2012 04:22 am
Lo que pasa esque con la clase styled, no lo estas estilizando, el plugin utiliza esa clase para saber cuales elementos debe ocultar para ponerles una imagen encima, por lo cual los eventos onclik sobre el elemento no funcionan.

deberías ponerle el evento a la etiqueta <span> que el plugin antepone para "estilizar" los elementos.

Por HtrMancera

Claber

342 de clabLevel

1 tutorial

Genero:Masculino  

Front-end Developer

chrome
Citar            
MensajeEscrito el 30 Dic 2012 12:51 am
Muchas gracias HtrMancera eso mismo era, y al resto gracias también

Por carlos_k

30 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.