Validar radiobutton con javascript

Tengo una pagina llamada agregarcliente.php y tengo un formulario hecho en html con varios campos, ejemplo : nombre, apellidos, direccion, telefono, etc, con action="agregarcliente.php", osea los datos se van a enviar a la misma pagina, ahora tengo una pregunta estatica que dice asi: Desea agregar estos datos a la BD, y tengo dos opciones con radiobutton el valor de uno dice Si y el otro dice No, ambos con el mismo nombre que es :pregunta. Ademas de tener codigo php para conectarse a la base de datos e ingresar los datos del cliente, ahora con las dos opciones de la pregunta las quiero validar si el usuario selecciona la opcion Si y presiona el boton agregar datos del cliente le aparecera un mensaje confirmandole de que si esta seguro de agregar los datos a la BD si acepta los agregara y si lo cancela no lo hara, es una reconfirmacion para estar seguro si quiere hacer la operacion, ahora como valido los radiobutton con JAVASCRIPTS , lo he hecho pero no me funciona si selecciono la opcion Si aparece el mensaje y los agrega, ahora si no selecciona  ningun radiobutton siempre aparece el mensaje y si acepto los agrega, si selecciono No aparece el mensaje y siempre los agrega, Ahora como validar los radiobutton depediendo de que si el usuario selecciona alguna opcion pueda hacer la operacion validando con javascripts.
1

1 respuesta

Respuesta
1
¿Quieres qué pregunte al apretar enviar?
Hola gracias por ayudar.
En efecto quiero que al seleccionar el radiobutton de la opción "Si", y al dar clic en el botón enviar me aparezca el mensaje de reconfirmacion preguntándome de que si quiero hacer la operación, ahora si yo no selecciono ninguna opción no quiero que me aparezca el mensaje de reconfirmacion al momento de dar clic en el botón enviar, solo tiene que aparecer al momento de seleccionar la opción SI y presionar el botón de enviar, al igual que la opción NO.
Espero entiendas. Gracias
Tienes que poner un input type="button" y en el onclick llamar a una función que verifique el estado del radio.
Si es si, que haga un confirm, en caso de que vuelva a ser si, que haga un submit.
Hola, gracias por ayudarme.
Bueno eso ya lo sabia, y creo que esa fue la explicación, lo que necesito es que me ayuden con el código, si hay algún ejemplo, alguna página, foro o lo que sea, o si tu que eres experto me puedes hacer uno, claro que seria gratis jajaja.
Gracias
Usando mootools puedes hacer algo así:
 if($('idRadio').getProperty('value') == 'si'){
return true;
}else{
return false;
}
Cambiando el idRadio, por el de tu radio button.
Gracias pero encontré una forma y lo modifique y funciono.
Te lo muestro y espero que los que lo vean lo sepan utilizar.
Esto tiene que ir entre el head:
Primero recorre con un for el grupo de radiobutton y luego sale del for al momento de que se selecciona un radiobutton, luego hace una condición de que si el radiobutton seleccionado es igual a "si" que muestre un mensaje preguntándole que si esta seguro de hacer la operación, si acepta se envían los datos, luego esta la otra opción de que si el botón seleccionado es "no" hace la comparación si es igual que reseteé y envíe los datos a su estado original
<script type="text/javascript">
function ValidarPregunta() {
var i
var respuesta
for (i=0;i<document.formulario.pregunta.length; i++) {
if (document.formulario.pregunta.checked)
break;
}
if(document.formulario.pregunta.value=='si'){
respuesta=confirm('¿Está seguro de modificar este registro?')
if(respuesta==true){
document.formulario.submit() }}
if(document.formulario.pregunta.value=='no'){
alert('No se modificaron los datos, volverán a su estado original')
document.formulario.reset()
document.formulario.submit()
}
}
</script>
Y el formulario con el botón es así, claro que tienes que agregar los radiobutton pero eso es fácil:
<form action="index.php?var=modmat" method="POST" name="formulario">
<input type="button" name="boton" value="Enviar datos" onclick="ValidarPregunta()">
</form>
Muestra un error pero a mi me sirvió.
Gracias por tu aporte y lo probare, no pierdo nada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas