javascript - validacion - cambiar el valor del campo cuando seleccione botones de opción
validar formulario javascript html5 (4)
Quiero cambiar el valor del campo de entrada oculto cuando se seleccionan los botones de radio:
<input type="radio" name="r1" value="10" />10
<br/>
<input type="radio" name="r1" value="45" />45
<br/>
<input type="hidden" name="sum" value="" />
por ejemplo, cuando el usuario hace clic en uno de los botones, el valor del campo oculto cambia a ese valor.
Puedes intentar por ejemplo
<input type="radio" id="radio1r1" name="r1" value="10" />10
<br/>
<input type="radio" id="radio2r1" name="r1" value="45" />45
<br/>
<input type="hidden" name="sum" value="" />
jQuery("input[id^=''radio'']").click(function() {
jQuery("input[name=''sum'']").val(jQuery(this).val());
}
Entonces, cuando el usuario hace clic en cada radio, la manejamos con varias identificaciones con el mismo inicio.
Use la propiedad onClick:
<input type="radio" name="r1" value="10" onClick="document.getElementById(''hidfield'').value=this.value"/>10
<br/>
<input type="radio" name="r1" value="45" onClick="document.getElementById(''hidfield'').value=this.value"/>
45
<br/>
<input type="hidden" name="sum" value="" id="hidfield" />
enganche en el evento onclick para el botón de radio "r1". Normalmente sugeriría el evento onchange pero en IE no se dispara hasta que el usuario "desenfoque" el botón de radio.
Si está utilizando un marco como jQuery, enganche los eventos de una manera agradable y discreta ... pero si quiere una solución rápida y sucia, simplemente agregue los eventos en línea.
<input type="radio" name="r1" value="10" onclick="doIt(this);"/>10
<br/>
<input type="radio" name="r1" value="45" onclick="doIt(this);"/>45
<br/>
<input type="hidden" name="sum" value="" />
<script>
function doIt(obj){
//alert(''my value is now: '' + obj.value);
obj.form.elements[''sum''].value = obj.value;//set hidden field to radio value
}
</script>
Usando jQuery sería:
$(":radio").click(function () {
var inputValue = $this.val();
$(":hidden[name=''sum'']").val() = inputValue;
$(":hidden[name=''sum'']").name() = "lalala";
});
No he verificado ese código por segunda vez, así que podría necesitar un pequeño ajuste.