JSF - Valor de un h:selectOneRadio desde javascript

 
Vista:

Valor de un h:selectOneRadio desde javascript

Publicado por opalo (2 intervenciones) el 16/05/2007 16:17:48
No consigo acceder desde javascript al siguiente h:selectOneRadio

<h:selectOneRadio id="tipoUnidad" layout="pageDirection" style="font-family: Arial;font-weight:lighter;font-size: 12px" >
<f:selectItem itemValue="Verde" itemLabel="Unidad Verde:"/>
<f:selectItem itemValue="Azul" itemLabel="Unidad Azul:"/> </h:selectOneRadio>

Una vez que estamos en la función de javascript a la que llamo al clicar en algún radio button intento recuperar el valor con

var tipoUnidad = document.getElementById("formulario:tipoUnidad").value;

Pero nada, me dice que tipoUnidad es undefined.

¿Alguien me puede ayudar?
Gracias por anticipado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Valor de un h:selectOneRadio desde javascript

Publicado por Ma Belen Dela (1 intervención) el 01/06/2007 18:28:59
para obtener el valor no lo tomes directamente, primero pasa el objeto y luego tobtienes el valor

var tipoUnidad = document.getElementById("formulario:tipoUnidad");
alert(tipoUnidad.value);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor de un h:selectOneRadio desde javascript

Publicado por Carlos (1 intervención) el 04/02/2008 06:20:14
Una opcion seria que ejecutes tu codigo y una vez cargada la pagina en el explorador pongas ver codigo fuente para comprobar que nombre le pone jsf a este componente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor de un h:selectOneRadio desde javascript

Publicado por Octavio Rubiano (3 intervenciones) el 08/08/2008 22:17:06
Hola opalo. No se hayas resuelto esto, pero yo si lo hice mediante un código modificado de la página de BalusC (http://balusc.blogspot.com/2006/06/using-datatables.html)
Te adjunto el código:

En el JSP:
onchange="checkSelected(this)"

En el JS:

1
2
3
4
5
6
7
8
9
10
11
12
function showGuarantorBtn(radio){
    var found_it = null; //Aqui guardas el valor.
    var id = radio.name.substring(radio.name.lastIndexOf(':'));
    var el = radio.form.elements;
    for (var i = 0; i < el.length; i++) {
        if (el[i].name.substring(el[i].name.lastIndexOf(':')) == id) {
            if(el[i].checked){
                found_it = el[i].value;
            }
        }
    }
}


Espero te sea de utilidad.
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor de un h:selectOneRadio desde javascript

Publicado por Caccia (1 intervención) el 24/09/2008 18:50:56
Pasale en el evento onclick "this" de esta forma podes obtener el valor fácilmente.

1
2
3
4
5
6
7
8
9
10
11
<h:selectOneRadio id="tipoUnidad" layout="pageDirection" style="font-family: Arial;font-weight:lighter;font-size: 12px" onclick="RadioValue(this);" >
       <f:selectItem itemValue="Verde" itemLabel="Unidad Verde:"/>
       <f:selectItem itemValue="Azul" itemLabel="Unidad Azul:"/>
</h:selectOneRadio>
 
function RadioValue(idFrom) {
		if (document.getElementById){
		        var valueFrom = idFrom.value;
                                                   alert('Radio value: ' + valueFrom);
		}
	}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor de un h:selectOneRadio desde javascript

Publicado por David (1 intervención) el 05/02/2010 12:16:06
El problema está en que JSF en los <h:selectOneRadio> no pone un id sino que ese id que pones se incluye en el atributo name del elemento por lo que tienes que buscar por el name en lugar de por el ID.

document.getElementByName(....)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor de un h:selectOneRadio desde javascript

Publicado por Eduardo (1 intervención) el 16/11/2011 19:22:57
Gracias yo tenia el mismo problema no podia obtener el valor del radio con jQuery

var radio = jQuery("input[id$='" + objRadioName + "']':checked").val();

La solucion

var radio = jQuery("input[name$='" + objRadioName + "']':checked").val();


Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor de un h:selectOneRadio desde javascript

Publicado por locuaz de la sierra (1 intervención) el 02/09/2010 01:27:43
excelente,, a mi me sirvio tu codigo,, funciono a la perfeccion de esa forma

gracias y saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor de un h:selectOneRadio desde javascript

Publicado por will (1 intervención) el 27/02/2013 05:17:49
bueno lo que no he podido au es sacar el texto de un :selectOneRadio a ver si alguie lo logra que lo postee

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<script>
			function validar(){
 
				//input text
				//var texto=jQuery('#frm\\:txtNombre').attr("value");
				//con primefaces
				var texto=jQuery(PrimeFaces.escapeClientId('frm:txtNombre')).attr("value");
				alert("hola jquery texto valor :"+texto);
				//combos:
				//values
				//var valor = $("select[name='frm\\:txtCombo'] option:selected").val();
				var valor = jQuery("select[name='frm\\:txtCombo'] option:selected").attr("value");
				//texto
				var texto = jQuery("select[name='frm\\:txtCombo'] option:selected").text();
				alert("hola jquery combos valor :"+valor+", texto:"+texto);
 
				//radios:
				//values:
				//var valorrd = jQuery("input[name='frm\\:txtRadio']:checked").val();
				var valorrd = jQuery("input[name='frm\\:txtRadio']:checked").attr("value");
				//textos:
				var textord = jQuery("input[name='frm\\:txtRadio']:checked").text();
				alert("hola jquery radios valor :"+valorrd);
 
			}
		</script>
 
...
 
<h:form id="frm">
<h:panelGrid columns="2">
	#{"nombre:"}
	<h:inputText value="#{beanPrincipal.nombre}" id="txtNombre" />
 
	#{"combo:"}
	<h:selectOneMenu id="txtCombo" value="#{beanPrincipal.combo}" >
					<f:selectItem itemLabel="valor 1" itemValue="v1" />
					<f:selectItem itemLabel="valor 2" itemValue="v2" />
					<f:selectItem itemLabel="valor 3" itemValue="v3" />
	</h:selectOneMenu>
 
 
	#{"radio:"}		    
	<h:selectOneRadio id="txtRadio" value="#{beanPrincipal.radio}">
					<f:selectItem itemLabel="SI señor" itemValue="SI" />
					<f:selectItem itemLabel="NO señor" itemValue="NO" />
	</h:selectOneRadio>
</h:panelGrid>
<p:commandButton value="pinchame" oncomplete="validar();" />
</h:form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor de un h:selectOneRadio desde javascript

Publicado por miguel angel olivares (1 intervención) el 01/01/2015 01:24:12
hi, i do a innerHTML in the control radio button de jsf and get this

valor opcion value es:
<tbody><tr>
<td>
<input name="formAddCodeBar:tieneCalculoXPeso" id="formAddCodeBar:tieneCalculoXPeso:0" value="S" onchange="calcularVisibilidad();" type="radio"><label for="formAddCodeBar:tieneCalculoXPeso:0"> Si</label></td>
<td>
<input name="formAddCodeBar:tieneCalculoXPeso" id="formAddCodeBar:tieneCalculoXPeso:1" value="N" onchange="calcularVisibilidad();" type="radio"><label for="formAddCodeBar:tieneCalculoXPeso:1"> No</label></td>
</tr>
</tbody>

then the control radiobutton the jsf document.getElementById('formAddCodeBar:tieneCalculoXPeso:0') index for 0, 1 or more options.

i hope help us.


bye.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar