Validar Radiobutton e inconvennte en la inserción

Hola expert@s tengo el siguiente código de validación si hay campos vacíos o no en Php:
if($_POST['Nombre5'] == "")
{
echo "
<script type="text/javascript">// <![CDATA[
alert(\"Debes de digitar el Nombre.\");
// ]]></script>
";
}
elseif ($_POST['Apellido5'] == "")  {
echo "
<script type="text/javascript">// <![CDATA[
alert(\"Debes de digitar el Apellido.\");
// ]]></script>
";  }
elseif ($_POST['Email5'] == "")  {
echo "
<script type="text/javascript">// <![CDATA[
alert(\"Debes de digitar el Email.\");
// ]]></script>
";  }
elseif ($_POST['Pais_Ciudad5'] == "")  {
echo "
<script type="text/javascript">// <![CDATA[
alert(\"Debes de digitar la ciudad y el pais \");
// ]]></script>
";  }
//Aqui esta el error $_POST['radio'] es un radio button y no me valida si esta vacio o no
elseif ($_POST['radio'] == 0  or $_POST['radio'] == "")  {
echo "
<script type="text/javascript">// <![CDATA[
alert(\"Debes de  seleccionar una de las opciones Si o No. \");
// ]]></script>
";  }
elseif ($_POST['Mensaje5'] == "")  {
echo "
<script type="text/javascript">// <![CDATA[
alert(\"Favor digite un mensaje en el correspondiente campos de mensaje \");
// ]]></script>
";  }
El anterior código Php valida si los campos dentro de la página web antes de dar clic están vacíos, debe de mandarme un mensaje que diga que no debe de dejarlos vacíos el problema que hay es en la linea en donde se valida el radio, (Son 2 radio buttons) que si el usuario no ha seleccionado ninguno de los dos debe de aparecer un mensaje que diga que debe seleccionar Si o No que son los dos radio buttons, el problema es que me muestra el mensaje (\"Debes de digitar la ciudad y el país \") que es el anterior y no me muestra el mensaje:
(\"Debes de seleccionar una de las opciones Si o No. \")
Y por otra parte que instrucción debo de incluir para evitar que al refrescar la página web, automáticamente me inserte un registro en blanco a la base de datos, necesito que solamente se inserten registros cuando el usuario ha dado clic en el botón y no cuando la página web se active o se cargue.
Que pena aprovecharme de tu nobleza pero es que necesito arreglar esos dos inconvenientes para así continuar con el desarrollo de un proyecto.
Gracias a quien me pueda ayudar!.

1 respuesta

Respuesta
1
El siguiente código es para validar campos con ajax... si pasa la validación ejecuta un archivo php... Solo es que lo modifiques colocándole el path de tu archivo que realiza el INSERT y para el Radiobutton mira esto:
http://sitiooriginal.blogspot.com/2009/10/validar-radio-button-con-javascript.html
Solo es que coloques esa lógica en la parte del código que te indico para que haga esa lógica. Tienes que insertar el radiobtton en el form y darle el repectivo nombre.
Solo es cuestión de que le cacharrees.
Éxitos!
Dios te Bendiga..
<html>
<head>
 <script type="text/javascript">
  function objetoAjax(){var xmlhttp=false;try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch (E) {xmlhttp = false;}}if (!xmlhttp && typeof XMLHttpRequest!='undefined') {xmlhttp = new XMLHttpRequest();}return xmlhttp;}
  var img_carga = '<img src="'">">';
  function aumentaDate(){
   divStatus = document.getElementById('status');
   divStatus.innerHTML = img_carga;
   dateInicio = document.dato.dateInicio.value;
   mesMas = document.dato.mesMas.value;   
   error = '';
   if (dateInicio == ''){ error = error + "\r - Debe ingresar la fecha inicio";}
   if (mesMas == ''){ error = error + "\r - Debe ingresar la cantidad de meses a aumentar";}
   /// aqui agregar los otros if para validar campos vacios!!
   if (error == ''){
    ajax=objetoAjax();
    ajax.open("POST", "process.php",true);//aqui la ruta de tu archivo q realiza el INSERT y listo!!
    ajax.onreadystatechange=function() {
     if (ajax.readyState==4) {
      divStatus.innerHTML = ajax.responseText
     }
    }
    ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    ajax.send("mesMas="+mesMas+"&dateInicio="+dateInicio)
   } else {
    error = "Debe cumplir los siguientes parametros:\r " + error;
    alert(error);
    divStatus.innerHTML = '';
   }
  }
  </script>
<style type="text/css">
 body{background-color: #333; color: #FFF;}
 table {text-align: right;font-weight: bold;}
</style>
</head>
<body>
<form name="dato">
  <p> </p>
  <table border="0" align="center">
    <tr>
    <td> Fecha inicial (dd/mm/aaaa) </td>
    <td><input type="text" name="dateInicio" value="10/10/2010" id="dateInicio"></td>
    </tr>
  <tr>
    <td> Meses de aumento</td>
    <td><input type="text" name="mesMas" id="mesMas" value=""></td>
    </tr>
  <tr>
    <td colspan="2"><hr></td>
  </tr>
  <tr>
    <td colspan="2"><p>
      <input type="button" value="..:: Calcular ::.." onClick="aumentaDate();">
    </p>
      <div id="status"></div>
      <p> </p></td>
    </tr>
</table>
</form>
</body>
</html>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas