Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2010, 07:00
Polyvox
 
Fecha de Ingreso: abril-2010
Mensajes: 6
Antigüedad: 14 años, 8 meses
Puntos: 0
Me recarga la Pagina al Enviar form

buenas ..

tengo un problema en esta pagina .. la cual intento crear un alta con xajax..

al enviar el formulario me recarga la pagina.. y no puedo ver el resultado..

todo el codigo php anda.. es decir m realiza las validaciones y me da de alta y eso..

lo que hace mal es que recarga la pagina una vez apretado el boton enviar..

estuve mirando y repasando el codigo bastante tiempo.. y nada

saludos y gracias de ante mano


Código PHP:
<?php

include('seguridad.php');


include(
'conexion.php');
include(
'funciones/funcion.php');

//incluímos la clase ajax
require ('xajax/xajax_core/xajax.inc.php');


//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->configure('decodeUTF8Input',true);



 function 
select_combinado($id_localidad){

   
$data=mysql_query("select * from establecimiento where idlocalidad='$id_localidad'");

    
$nuevo_select "<select style='width:160px' id='idestablecimiento' name='idestablecimiento'>";

    while(
$esta=mysql_fetch_array($data))
    {
      
$nuevo_select .= "<option value=".$esta[idestablecimiento].">".$esta[idestablecimiento]."-".$esta[razonsocial]."</option>";

    }
    
$nuevo_select .= "</select>";

    return 
$nuevo_select;
 }

 function 
generar_select($cod_localidad){
   
$respuesta = new xajaxResponse();
   
$respuesta->setCharacterEncoding('ISO-8859-1');

   if (
$cod_localidad==999){
      
$nuevo_select '<select id="idestablecimiento" name="idestablecimiento">
                  <option value=0>Elegir Localidad</option>
                  </select>'
;
   }else{
      
$nuevo_select select_combinado($cod_localidad);
   }

   
$respuesta->Assign("seleccombinado","innerHTML",$nuevo_select);

   return 
$respuesta;

 }



 function 
validarDatos($nombre,$idestablecimiento){
   if((
$idestablecimiento==''))
   {
   
$error.='El codigo del Hotel debe tener al menos 1 caracateres y deben ser sólo numeros<br/>';
   
$GLOBALS["flag"]=2;
   }
   if((
$nombre=='') || (strlen($nombre)< ))
   {
   
$error.= 'El nombre del Responsable debe tener por lo menos 3 caracteres<br/>';
   
$GLOBALS["flag"]=2;
    }
      
// echo $error;
    
return $error;
 }


 function 
procesar_formulario($form_carga){

         
$nombre=$form_carga["nombre"];
         
$idestablecimiento=$form_carga["idestablecimiento"];
         
$idcargo=$form_carga["idcargo"];
         
$telefono=$form_carga["telefono"];
         
$fax=$form_carga["fax"];


        
$err=validarDatos($nombre,$idestablecimiento);
        if(!isset(
$err))
        {    
$tabla="responsable";
             
$condicion="nombre='$nombre' and idestablecimiento='$idestablecimiento'";
             
$data=sqlselect2($tabla,$condicion);
             if(
$data==null)
             {
                
$campos="nombre,idestablecimiento,idcargo,telefono,fax";
                
$valores="'$nombre','$idestablecimiento','$idcargo','$telefono','$fax'";

                
sqlinsert($tabla$campos$valores);
                
$salida.="Se dio de alta correctamente.";
                
$GLOBALS["flag"]=1;
             }
             else{
                
$salida.="No se pudo dar de alta. Ya existe un registro con esos datos ";
                
$GLOBALS["flag"]=2;
             }

        }
        else{
         
$salida=$err;
        }

    
//instanciamos el objeto para generar la respuesta con ajax
    
$respuesta = new xajaxResponse();
    
$respuesta->setCharacterEncoding('ISO-8859-1');
    
//escribimos en la capa con id="respuesta" el texto que aparece en $salida

    
$respuesta->Assign("resultado","style.color","#000000");


    if(
$GLOBALS["flag"]==1){
    
$respuesta->Assign("resultado","style.backgroundColor","#58ACFA");
    
$respuesta->Assign("resultado","style.border","solid");
    
$respuesta->Assign("resultado","style.borderColor","#0066CC");

    
//$respuesta2->Assign("nombre","value","");
    
}

    if(
$GLOBALS["flag"]==2){
    
$respuesta->Assign("resultado","style.backgroundColor","#FF0000");
    
$respuesta->Assign("resultado","style.border","solid");
    
$respuesta->Assign("resultado","style.borderColor","#CD0C01");

    }

    
$respuesta->Assign("resultado","innerHTML",$salida);

   return 
$respuesta;

 }

$xajax->register(XAJAX_FUNCTION,'procesar_formulario');
$xajax->register(XAJAX_FUNCTION,'generar_select');

//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Sistema de Carga EOH</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="layout.css" rel="stylesheet" type="text/css" media="screen" />
<?php   //la ruta a la carpeta raíz donde están las librerías xajax.
   
$xajax->printJavascript("xajax/");
?>
<script language="JavaScript" type="text/javascript">

function tabular(e,obj) {
  tecla=(document.all) ? e.keyCode : e.which;
            if(tecla!=13) return;
            frm=obj.form;
            for(i=0;i<frm.elements.length;i++)
                if(frm.elements[i]==obj)
                {
                    if (i==frm.elements.length-1)
                        i=-1;
                    break
                }
    /*ACA ESTA EL CAMBIO disabled, Y PARA SALTEAR CAMPOS HIDDEN*/
            if ((frm.elements[i+1].disabled ==true) || (frm.elements[i+1].type=='hidden') )
                tabular(e,frm.elements[i+1]);
    /*ACA ESTA EL CAMBIO readOnly */
            else if (frm.elements[i+1].readOnly ==true )
                tabular(e,frm.elements[i+1]);
            else frm.elements[i+1].focus();

            return false;
}
</SCRIPT>
</head>

<body>


<div id="container">

     <div id="header">
        <?php include("header.php");?>
     </div> <!--fin del header-->

<div id="navigation">
        <?php include("navigation.php");?>
    </div><!-- Fin navegation -->


     <div id="content">
        <br>
        <div id="resultado"></div>

            <h3>Alta de Responsables</h3>


            <legend>Ingrese los siguientes datos</legend>
            <br>
            <br>
            <form id="formulario" name="formulario">
            <table class="" border="0">

            <tr>
                <td>Nombre y Apellido:</td>
                <td><input type="text" id="nombre" name="nombre" class="required" onkeypress="return tabular(event,this)" /></td>
            </tr>
             <tr>
            <td>Localidad</td>
          <td>
          <select name="idlocalidad" id="idlocalidad" onchange="xajax_generar_select(document.formulario.idlocalidad.options[document.formulario.idlocalidad.selectedIndex].value)" onkeypress="return tabular(event,this)">
            <option value="0" selected="selected" onkeypress="return tabular(event,this)">Seleccione Localidad</option>
            <?php

            $tabla
="localidad";
            
$data=sqlselect2($tabla,'');

            foreach(
$data as $dato)
            {
             echo 
"<option value=$dato[idlocalidad]>$dato[idlocalidad] - $dato[nombre]</option>";

            }
            
?>
            </select>
                </td>
                <tr>

            <tr>
          <td>Hotel</td>
          <td>
          <div id="seleccombinado">
        <select name="idestablecimiento" id="idestablecimiento" onkeypress="return tabular(event,this)" >
        <option value="0">Seleccione Hotel</option>
        </select>
        </div>
           </td>
          </tr>

            <tr>
          <td>Cargo</td>
          <td>
          <select name="idcargo" id="idcargo" class="requerido"  onkeypress="return tabular(event,this)" >
            <option value="0" selected="selected" onkeypress="return tabular(event,this)" >Seleccione Cargo</option>
            <?php

            $data
=mysql_query("select * from cargo order by idcargo");

            while(
$dato=mysql_fetch_array($data))
            {
             echo 
"<option value=$dato[idcargo] onkeypress='return tabular(event,this)' >$dato[idcargo] - $dato[nombre]</option>";

            }

            
?>
            </select>
           </td>
          </tr>

            <tr>
                <td>Telefono :</td>
                <td><input type="text" name="telefono" class="required" onkeypress="return tabular(event,this)" /></td>
            </tr>

            <tr>
                <td>Fax :</td>
                <td><input type="text" name="fax" class="required" onkeypress="return tabular(event,this)" /></td>
            </tr>

            <tr>
                <td colspan="2" align="center">
            <input type="submit" value="Aceptar" class="boton" onclick="xajax_procesar_formulario(xajax.getFormValues('formulario'))"/></td>

            </tr>
            </table>

            </form>

    </div><!--fin del content-->