Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2012, 16:27
Avatar de satjaen
satjaen
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 8 meses
Puntos: 10
No me hace la función cuando debe.

Hola, tengo este código con un formulario que funciona bien pero nada mas recargar la pagina ya empieza a hacer la función filtrar (que es la que hace buscar los datos), luego una vez que a recargado y listado todos los datos, ya puedes meter datos en el formulario que funciona perfectamente.
Este es el botón:

Código PHP:
<button type="button" id="btnfiltrar" name="btnfiltrar" style="cursor:pointer;">
  <
img src="imagenes_menu/boton_buscar.jpg" width="100%"/>
</
button
Y este el js

Código Javascript:
Ver original
  1. // JavaScript Document
  2. var ordenar = '';
  3. $(document).ready(function(){
  4.    
  5.     // Llamando a la funcion de busqueda al
  6.     // cargar la pagina
  7.     filtrar()
  8.    
  9.     var dates = $( "#del, #al" ).datepicker({
  10.             yearRange: "-50",
  11.             defaultDate: "+1w",
  12.             changeMonth: true,
  13.             changeYear: true,
  14.             onSelect: function( selectedDate ) {
  15.                 var option = this.id == "del" ? "minDate" : "maxDate",
  16.                     instance = $( this ).data( "datepicker" ),
  17.                     date = $.datepicker.parseDate(
  18.                         instance.settings.dateFormat ||
  19.                         $.datepicker._defaults.dateFormat,
  20.                         selectedDate, instance.settings );
  21.                 dates.not( this ).datepicker( "option", option, date );
  22.             }
  23.     });
  24.     // ocultar div loading
  25.     $(".carga").hide();
  26.     // filtrar al darle click al boton
  27.     $("#btnfiltrar").click(function(){ filtrar() });
  28.    
  29.     // boton cancelar
  30.     $("#btncancel").click(function(){
  31.         $(".filtro input").val('')
  32.         $(".filtro select").find("option[value='0']").attr("selected",true)
  33.         filtrar()
  34.     });
  35.    
  36.     // ordenar por
  37.     $("#data th span").click(function(){
  38.         var orden = '';
  39.         if($(this).hasClass("desc"))
  40.         {
  41.             $("#data th span").removeClass("desc").removeClass("asc")
  42.             $(this).addClass("asc");
  43.             ordenar = "&orderby="+$(this).attr("title")+" asc"     
  44.         }else
  45.         {
  46.             $("#data th span").removeClass("desc").removeClass("asc")
  47.             $(this).addClass("desc");
  48.             ordenar = "&orderby="+$(this).attr("title")+" desc"
  49.         }
  50.         filtrar()
  51.     });
  52. });
  53.  
  54. var fila= null;
  55. function pulsar(obj, num_usuario) {
  56.   obj.style.background = 'grey';
  57.   if (fila != null && fila != obj)
  58.     fila.style.background = 'white';
  59.   fila = obj;
  60.  window.location ="menu3.php?id="+num_usuario;
  61. }
  62. var fila= null;
  63. function pulsar1(obj, num_aparato) {
  64.   obj.style.background = 'grey';
  65.   if (fila != null && fila != obj)
  66.     fila.style.background = 'white';
  67.   fila = obj;
  68.  window.location ="hist_apara.php?id="+num_aparato;
  69. }
  70. function filtrar()
  71.  
  72. {
  73.        
  74. * *     $.ajax({
  75. * * * * data: $("#frm_filtro").serialize()+ordenar,
  76. * * * * type: "POST",
  77. * * * * dataType: "json",
  78. * * * * url: "ajax.php?action=listar",
  79. * * * * beforeSend:function(){
  80.         $('.carga').css('display','block');
  81.         $('.carga').html("<img src='imagenes_menu/ajax-loader4.gif' align='center' /><br />Cargando...");
  82.         },
  83. * * * * success: function(data){
  84.         var html_user ='' ;
  85.         if(data.length > 0){
  86.         $.each(data, function(i,item){
  87.        
  88.        
  89.          
  90.  html_user += '<tr ondblclick="pulsar(this, ' +  String.fromCharCode(39) + item.num_usuario + String.fromCharCode(39)  + ');" >';
  91.  html_user += '<td ><input name="demo" type="radio" value="' + item.num_usuario + '"/></td>';
  92.  html_user += '<td id="row0" >'+item.num_usuario+'</td>';
  93.  html_user += '<td>'+item.telefono+'</td>';
  94.  html_user += '<td>'+item.nombre+' '+item.apellidos+'</td>';
  95.  html_user += '<td>'+item.poblacion+'</td>';
  96.  html_user += '</tr>';
  97.            
  98.                                  
  99.         });                    
  100.     }
  101.     if(html_user == '') html_user = '<tr><td colspan="4" align="center">No se encontraron registros..</td></tr>';
  102.     $("#data tbody").html(html_user);
  103.     $('.carga').html('');
  104. * *}
  105.  
  106.            
  107.       });
  108. }
  109.  
  110. function createAjax(){
  111.    if (window.XMLHttpRequest)
  112.    {
  113.       xmlhttp=new XMLHttpRequest();
  114.    }
  115.    else
  116.    {
  117.       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  118.    }
  119. }
  120.  
  121. function buscarAparatos()
  122. {
  123.     var num_usuario = 0;
  124.     var elements = document.getElementsByName('demo');
  125.    
  126.     for(var x=0;elements[x];x++){
  127.         if(elements[x].checked){
  128.             num_usuario = elements[x].value;
  129.             break;
  130.         }
  131.     }
  132.    
  133.     createAjax();
  134.     xmlhttp.onreadystatechange=function()
  135.     {
  136.         if (xmlhttp.readyState==4 && xmlhttp.status==200)
  137.         {
  138.             document.getElementById("pestaña1").innerHTML=xmlhttp.responseText;
  139.         }
  140.     }
  141.    xmlhttp.open("GET","listado_aparatos.php?ID=" + num_usuario,true);
  142.    xmlhttp.send(null);
  143. }


Gracias y un saludo



EDITO: Aclaro que me hace esta función nada mas abrir la pagina: url: "ajax.php?action=listar",cuando debería de empezar al pulsar el botón.

Última edición por satjaen; 11/11/2012 a las 05:42