Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Script con botones radio

Estas en el tema de Script con botones radio en el foro de Javascript en Foros del Web. Hola buenas soy nuevo en el foro y queria postear una duda con un formulario de radiobuttons que estoy haciendo. La idea es que segun ...
  #1 (permalink)  
Antiguo 19/09/2013, 12:52
 
Fecha de Ingreso: septiembre-2013
Mensajes: 2
Antigüedad: 10 años, 7 meses
Puntos: 0
Script con botones radio

Hola buenas soy nuevo en el foro y queria postear una duda con un formulario de radiobuttons que estoy haciendo.

La idea es que segun selecciones los radio buttons ponga un precio diferente

Pongo el codigo para que me ayudeis.

Javascript.

Código:
function control()
        {
            var value1=0;
            var value2=0;
            var value3=0;
            var value4=0;
            
            // obtenemos el primer valor de los radio button con el nombre "P1"
            var oRadio1 = document.forms[0].elements["p1"];
            // recorremos todos los valores hasta encontrar el seleccionado
            for(var i = 0; i < oRadio1.length; i++)
            {
                if(oRadio1[i].checked)
                {
                    value1=oRadio1[i].value;
                    break;
                }
            }
            
            // obtenemos el segundo valor de los radio button con el nombre "p2"
            var oRadio2 = document.forms[0].elements["p2"];
            for(var i = 0; i < oRadio2.length; i++)
            {
                if(oRadio2[i].checked)
                {
                    value2=oRadio2[i].value;
                    break;
                }
            }

            // obtenemos el tercer valos de los radio button con el nombre "p3"
            var oRadio3 = document.forms[0].elements["p3"];
            for(var i = 0; i < oRadio2.length; i++)
            {
                if(oRadio2[i].checked)
                {
                    value3=oRadio3[i].value;
                    break;
                }
            }

            var oRadio4 = document.forms[0].elements["p4"];
            for(var i = 0; i < oRadio2.length; i++)
            {
                if(oRadio4[i].checked)
                {
                    value4=oRadio4[i].value;
                    break;
                }
            }
            if(value1=="1"&&value2=="1"&&value3=="1"&&value4=="1"){

                document.getElementById('precio').innerHTML = '40' + '€';
                return false;
            }
            if(value1=="1"&&value2=="1"&&value3=="2"&&value4=="2"){

                document.getElementById('precio').innerHTML = '44' + '€';
                return false;
            }
            else if(value1=="2"&&value2=="2"&&value3=="2"&&value4=="2")
            {
                document.getElementById('precio').innerHTML = '50' + '€';
            }
        }

HTML.

Código HTML:
<form method="post" name="form1">
				<div class="configurable">
				
							<input type="radio" name="p1" value="1" onChange='control()' />

								<label>1000</label>

							<input type="radio" name="p1" value="2" onChange='control()' />

							    <label>2500</label>

							<input type="radio" name="p1" value="3" onChange='control()' />

							    <label>5000</label>

						</p>
					</div>
				</div>

				
						<p>
							<input type="radio" name="p2" value="1" onChange='control()' />

								<label>Blanco/Negro</label>

							<input type="radio" name="p2" value="2" onChange='control()' />
							          		
							    <label>Color</label>

						</p>
					</div>
				</div>....


Si la condicion es que si p1,p2,p3,p4 son todos ("1") funciona. Pero cuando digo que si p1=="1" p2=="1" p3=="2" p4=="2" no funciona.
  #2 (permalink)  
Antiguo 20/09/2013, 14:36
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 8 meses
Puntos: 29
Respuesta: Script con botones radio

Prueba esto, a ver si te da una idea.
Código HTML:
Ver original
  1. <div class="configurable" >
  2.       <input type="radio" name="p1" value="1" onChange='control(this.value);' />
  3.       <label>p1 v1 1000</label>
  4.       <input type="radio" name="p1" value="2" onChange='control(this.value);' />
  5.       <label>p1 v2 2500</label>
  6.       <input type="radio" name="p1" value="3" onChange='control(this.value);' />
  7.       <label>p1 v3 5000</label>
  8.       </p>
  9.    </div>
  10.    <div>
  11.       <p>
  12.          <input type="radio" name="p2" value="1" onChange='control(this.value)' />
  13.          <label>p2 v1 Blanco/Negro</label>
  14.          <input type="radio" name="p2" value="2" onChange='control(this.value)' />
  15.          <label>p2 v2 Color</label>
  16.       </p>
  17.    </div>

Código Javascript:
Ver original
  1. function echo(valor) {
  2.    document.write(valor);
  3. }
  4.  
  5. function control() {
  6.    var value1 = 0;
  7.    var value2 = 0;
  8.    // obtenemos el primer valor de los radio button con el nombre "P1"
  9.    var oRadio1 = document.getElementsByName('p1');
  10.    for (i = 0; i < oRadio1.length; i++) {
  11.       if (oRadio1[i].checked) {
  12.          value1 = oRadio1[i].value;
  13.          break;
  14.       }
  15.    }
  16.  
  17.    // obtenemos el segundo valor de los radio button con el nombre "p2"
  18.    var oRadio2 = document.getElementsByName('p2');
  19.    for (var i = 0; i < oRadio2.length; i++) {
  20.       if (oRadio2[i].checked) {
  21.          value2 = oRadio2[i].value;
  22.          break;
  23.       }
  24.    }
  25.  
  26.    switch (true) {
  27.       case (value1 == "1" && value2 == "1"):
  28.          echo('11');
  29.          break;
  30.       case (value1 == "2" && value2 == "1"):
  31.          echo('21');
  32.          break;
  33.       case (value1 == "3" && value2 == "1"):
  34.          echo('31');
  35.          break;
  36.       case (value1 == "1" && value2 == "2"):
  37.          echo('12');
  38.          break;
  39.       case (value1 == "2" && value2 == "2"):
  40.          echo('22');
  41.          break;
  42.       case (value1 == "3" && value2 == "2"):
  43.          echo('32');
  44.          break;
  45.    }
  #3 (permalink)  
Antiguo 23/09/2013, 01:40
 
Fecha de Ingreso: septiembre-2013
Mensajes: 2
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Script con botones radio

Gracias bathorz era justo lo que necesitaba.

Un saludo.

P.D: Falta una ultima llave por cerrar en el script de bathorz.

Última edición por javiermonterosanz; 23/09/2013 a las 02:04
  #4 (permalink)  
Antiguo 12/11/2013, 05:47
 
Fecha de Ingreso: febrero-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Script con botones radio

El mismo ejemplo en jquery¿? estoy intentando coger el valor de varios select y segun el option que aparezca un resultado.

Que es lo que falla? Gracias.



Código:
$('#p1').change(function(){
    var $selectedOption = $(this).find('option:selected');
    var selectedValue = $selectedOption.val();
    var value1 = selectedValue;

$('#p2').change(function(){
    var $selectedOption = $(this).find('option:selected');
    var selectedValue = $selectedOption.val();
    var value2 = selectedValue;


$('#p3').change(function(){
    var $selectedOption = $(this).find('option:selected');
    var selectedValue = $selectedOption.val();
    var value3 = selectedValue;


$('#p4').change(function(){
    var $selectedOption = $(this).find('option:selected');
    var selectedValue = $selectedOption.val();
    var value4 = selectedValue;

    switch (true) {
        //
          case (value1 == "1" && value2 == "1" && value3 == "1" && value4 == "1"):
             $('#resultado').text('ESTE ES EL RESULTADO 1-1-1-1')
             break;
});

});

});

});

Última edición por egom; 12/11/2013 a las 06:48

Etiquetas: botones, formulario, funcion, html, input, radio
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 03:15.