Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Consulta Limpiar campos con XAJAX

Estas en el tema de Consulta Limpiar campos con XAJAX en el foro de Frameworks JS en Foros del Web. Tengo un problema que es bastante simple pero no lo puedo resolver... una ves que cargo los datos del formulario en la base de datos ...
  #1 (permalink)  
Antiguo 16/06/2010, 07:50
 
Fecha de Ingreso: abril-2010
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 0
Consulta Limpiar campos con XAJAX

Tengo un problema que es bastante simple pero no lo puedo resolver... una ves que cargo los datos del formulario en la base de datos quiero limpiar los input y nose como hacerlo.. pruebo con javascript de la siguiente forma...

document.formulario.nombre.value="";

pero nose donde llamarlo dentro del xajax

tal vez haya alguna sentencia xajax para limpiar campos o para llamar a la funcion js ... function limpiar{document.formulario.nombre.value=""; }

lo otro q hice fue declarar 2 variables de sesiones y cuando creo el nuevo objeto en el div correspondiente poder preguntar por estas.. si limpio o no el campo dependiendo si se inserto o es erroneo pero no puedo obtener los valores despues, hay manejo de variables globales?

Aqui el Codigo en XAJAX

Código PHP:
function procesar_formulario($form_carga)
 {
     
$nombre=$form_carga["nombre"];

    
$err=validarDatos($nombre);
     if(!isset(
$err))
     {
       
$tabla="cargo";
     
$condicion="nombre='$nombre'";
     
$data=sqlselect2($tabla,$condicion);

        if(
$data==null)
        {
        
$campos="nombre";
        
$valores="'$nombre'";
        
$tabla="cargo";

        
sqlinsert($tabla$campos$valores);

        
$salida "Los datos Siguientes se Cargaron Correctamente: ";
        
$salida.= "<br><br> Descripcion del Cargo ".$nombre;

           
$_SESSION["flag"]="1";

         
limpiar_campos();

        }
        else
        {
         
$salida="No se pudo dar de alta. Ya existe un registro con esos datos";
           
$_SESSION["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","innerHTML",$salida);

   
//tenemos que devolver la instanciación del objeto xajaxResponse
   
return $respuesta;
 }


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


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

?> 


y aqui el Codigo HTML



Código HTML:
 <div id="resultado"> </div><br>
        <h3>Alta de Cargos</h3>
		<legend>Ingrese los siguientes datos</legend>
		<br><br>
		<form name="formulario" id="formulario">
		<table class="" border="0"><tr>
        <td>Nombre :</td>
        <td><div id="entrada"><input type="text" id="nombre" name="nombre" class="required" tabindex="2" onkeypress="return tabular(event,this)" /></div></td>
		</tr>
		<tr>
	    <td colspan="2" align="center">
        <input type="hidden" name="accion" value="1"/>
		<input type="button" value="Aceptar" class="boton" onclick="xajax_procesar_formulario(xajax.getFormValues('formulario'))" /></td>
        </tr>
        </table>
		</form> 
Bueno estare agradecido sus respuestas y ayuda, ya que hace unos dias empeze con esto de XAJAX, AJAX, JS..

Saludos
  #2 (permalink)  
Antiguo 16/06/2010, 08:41
 
Fecha de Ingreso: enero-2005
Mensajes: 122
Antigüedad: 18 años
Puntos: 2
Respuesta: Consulta Limpiar campos con XAJAX

Hola Polyvox

Es sencillo, en el assign en vez de ser innerHTML le pones value y ya esta.

El metodo assign funciona como si estubieras haciendo en javascript:

document.getElementById('tu_id').innerHTML = "tu info";

donde el primer argumento del assign es "tu_id"
el segundo argumento es la propiedad que vas a usar, por ejemplo, innerHTML o value o style.display o style.color, en fin todas las propiedades que deses usar
y el ultimo argumento es el valor que tomaria el objeto que estes trabajando.

Mas o menos asi:

Código PHP:
function procesar_formulario($form_carga)
 {
     
$nombre=$form_carga["nombre"];

    
$err=validarDatos($nombre);
     if(!isset(
$err))
     {
       
$tabla="cargo";
     
$condicion="nombre='$nombre'";
     
$data=sqlselect2($tabla,$condicion);

        if(
$data==null)
        {
        
$campos="nombre";
        
$valores="'$nombre'";
        
$tabla="cargo";

        
sqlinsert($tabla$campos$valores);

        
$salida "Los datos Siguientes se Cargaron Correctamente: ";
        
$salida.= "<br><br> Descripcion del Cargo ".$nombre;

           
$_SESSION["flag"]="1";

         
limpiar_campos();

        }
        else
        {
         
$salida="No se pudo dar de alta. Ya existe un registro con esos datos";
           
$_SESSION["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","innerHTML",$salida);
    
$respuesta->Assign("nombre","value""");

   
//tenemos que devolver la instanciación del objeto xajaxResponse
   
return $respuesta;
 }

?> 
Espero te sirva
Saludos

Última edición por Brahyam; 16/06/2010 a las 08:51
  #3 (permalink)  
Antiguo 17/06/2010, 04:37
 
Fecha de Ingreso: abril-2010
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Consulta Limpiar campos con XAJAX

como va Brahyam...

Te agradezco tu respuesta y me fue muy util.. probe y anduvo de una!

lo q t voy a pedir es si conoces algun tuto o libro de esto che de xajax.. porque los que encuentro en la web explican el uso con esos ejemplos basicos, y no explican para nada esto que vos me dijiste.. al menos los que encontre q busque bastante..

asique desde ya muchas gracias y espero tu respuesta

Saludos y un abrazo

Etiquetas: ajax, javascript, limpiar, php, xajax
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 10:47.