Access the DOM to an AJAX response

0

Good I need to be able to access from the DOM to a button painted with PHP, which is called from an AJAX. Since I read that the DOM would do it to the AJAX and then it gives you undefined , I can not do it the normal way. The specific button is "Details".

Here I leave the 3 files:

Order.php

public function fecha($fecha)
    {

      parent::conectar();

      $consulta = 'select * from pedidos where fecha_pdo="'.$fecha.'"';

      $verificar_fecha = parent::verificarRegistros($consulta);

      if($verificar_fecha > 0){

        $fecha = parent::query($consulta);

          echo'<table id="tablaPedidosFecha" class="table table-striped">
                <tbody>
                    <tr class="superior">
                        <td>Nº</td>
                        <td>Fecha</td>
                        <td>Descuento</td>
                        <td>Cliente</td>
                        <td>Estado</td>
                        <td></td>
                    </tr>';
        while ($fechas = mysqli_fetch_array($fecha)){
          echo 
            "<tr>
              <td>".$fechas['numero_pdo']."</td>
              <td>".$fechas['fecha_pdo']."</td>
              <td>".$fechas['tasa_descuento']."</td>
              <td>".$fechas['numero_cli']."</td>
              <td>".$fechas['estado_pdo']."</td>
              <td>
               <a href='../../controller/pedidos/pedidosControllerDetalles.php?id=".$fechas['numero_pdo']."'><button class='modify btn btn-primary'>Detalles</button></a>
                <a href='pedidos.php?modificar=".$fechas['numero_pdo']."&fecha=".$fechas['fecha_pdo']."&descuento=".$fechas['tasa_descuento']."&cliente=".$fechas['numero_cli']."&estado=".$fechas['estado_pdo']."'><button class='modify btn btn-primary'>Modificar</button></a>
                <a href='../../controller/pedidos/pedidosControllerBorrar.php?id=".$fechas['numero_pdo']."'><button class='modify btn btn-primary'>Borrar</button></a>
              </td>
            </tr>";
        }
        echo '</tbody>
            </table>';
      }else{

        echo 'error_2';
      }

      parent::cerrar();
    }

operations-request.js

$('#clickFechaPedido').click(function(){

  $('.title').hide();
  $('.insertarDatos').css('display', 'none');
  $('#tablas').show();

  var fecha  = $('#inputFechaPedido').val();

  $.ajax({
    method: 'POST',
    url: '../../controller/pedidos/pedidosControllerF.php',
    data: {fecha_php: fecha},
    beforeSend: function(){
      $('#load').show();
    },
    success: function(res){

      $('#load').hide();

      if(res == 'error_1'){
        swal('Error', 'Debes indicar una fecha', 'error');
      }else if(res == 'error_2'){
        swal('Error', 'No hay ningún pedido con esa fecha', 'warning');
      }else{
        $('#tablas').html(res);
      }

    }
  });

});

OrdersControllerF.php

<?php

  $fecha = $_POST['fecha_php'];

  if(empty($fecha)){

    echo 'error_1';

  }else{

    require_once('../../model/pedido.php');

    $pedido = new Pedido();

    $pedido -> fecha($fecha);

    }
?>

file orders.php

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>SGAE - Pedidos</title>

    <link rel="stylesheet" href="../../css/bootstrap.min.css">
    <link rel="stylesheet" href="../../css/font-awesome.min.css">
    <link rel="stylesheet" href="../../css/sweetalert.css">
    <link rel="stylesheet" href="../../css/style.css">

  </head>
  <body>
    <?php
      include('components/menu.php');
    ?>
    <div class="main">
        <div id="top" class="row">
            <div class="input-group col-xs-3">
                <div class="input-group-addon" id="clickFechaPedido">
            <i class="fa fa-calendar"></i>
          </div>
                <input type="date" class="form-control" id="inputFechaPedido" name="fecha">
            </div>
            <div class="input-group col-xs-2">
                <div class="input-group-addon" id="clickNumeroPedido"><i class="fa fa-search"></i></div>
                  <input type="number" class="form-control" id="inputNumeroPedido" name="npedido" placeholder="Nº pedido">
                </div>
            <div class="input-group col-xs-2">
                <div class="input-group-addon" id="clickEstadoPedido"><i class="fa fa-check-square"></i></div>
                  <select class="form-control" id="inputEstadoPedido" name="estado">
                      <option value="vacio" selected>Estado:</option>
                      <option value="Pendiente">Pendiente</option>
                      <option value="Aceptado">Aceptado</option>
                      <option value="Rechazado">Rechazado</option>
                  </select>
                </div>
            <button class="nuevos btn btn-primary" id="buttonNuevoPedido">Nuevo Pedido</button>
        </div>
        <div id="contenido">
            <div id="load" hidden="hidden">
                <img src="../../img/load.gif">
            </div>
        <div class="table-responsive" id="tablas">
        </div>

        <h2 class="title" hidden="hidden">Nuevo Pedido</h2>
        <div id="new-pedidos" class="row insertarDatos">
          <div class="input-group col-xs-3">
            <div class="input-group-addon">
              <i class="fa fa-calendar"></i>
            </div>
            <input type="date" name="nuevaFecha" class="form-control" id="inputNuevaFecha"></input>
          </div>
          <div class="input-group col-xs-2">
            <div class="input-group-addon">
              <i class="fa fa-money"></i>
            </div>
            <input type="number" name="nuevoDescuento" placeholder="Descuento" class="form-control" id="inputNuevoDescuento"></input>
          </div>
          <div class="input-group col-xs-2">
            <div class="input-group-addon">
              <i class="fa fa-user-circle"></i>
            </div>
            <input type="number" name="cliente" class="form-control" placeholder="Nº cliente" id="inputNuevoCliente"></input>
          </div>
          <div class="input-group col-xs-2">
            <div class="input-group-addon">
              <i class="fa fa-check-square"></i>
            </div>
            <select class="form-control" id="selectEstadoNuevo" name="nuevoEstado">
              <option value="vacio" selected>Estado:</option>
              <option value="Pendiente">Pendiente</option>
              <option value="Aceptado">Aceptado</option>
              <option value="Rechazado">Rechazado</option>
            </select>
          </div>
          <button id="guardarNuevoPedido" class="nuevos btn btn-primary">Guardar</button>
        </div>
        <h2 class="title2" hidden="hidden">Modificar Pedido</h2>
        <div id="update-pedidos" class="row">
          <div class="input-group col-xs-3">
            <div class="input-group-addon">
              <i class="fa fa-calendar"></i>
            </div>
            <input type="date" name="actualizarFecha" class="form-control" id="inputActualizarFecha"></input>
            <input type="number" name="id" id="inputActualizarId" hidden="hidden"></input>
          </div>
          <div class="input-group col-xs-2">
            <div class="input-group-addon">
              <i class="fa fa-money"></i>
            </div>
            <input type="number" name="actualizarDescuento" placeholder="Descuento" class="form-control" id="inputActualizarDescuento"></input>
          </div>
          <div class="input-group col-xs-2">
            <div class="input-group-addon">
              <i class="fa fa-user-circle"></i>
            </div>
            <input type="number" name="cliente" class="form-control" placeholder="Nº cliente" id="inputActualizarCliente"></input>
          </div>
          <div class="input-group col-xs-2">
            <div class="input-group-addon">
              <i class="fa fa-check-square"></i>
            </div>
            <select class="form-control" id="selectEstadoActualizar" name="nuevoEstado">
              <option value="vacio" selected>Estado:</option>
              <option value="Pendiente">Pendiente</option>
              <option value="Aceptado">Aceptado</option>
              <option value="Rechazado">Rechazado</option>
            </select>
          </div>
          <button id="guardarActualizarPedido" class="nuevos btn btn-primary">Guardar</button>
        </div>
        </div>
      </div>
    <?php
      include('components/footer.php');
    ?>
    <script src="../../js/jquery.js"></script>
    <script src="../../js/bootstrap.min.js"></script>
    <script src="../../js/sweetalert.min.js"></script>
    <script src="../../js/operaciones-pedido.js"></script>
  </body>
</html>
    
asked by auremanci 26.11.2017 в 21:08
source

1 answer

2

Try calling a javascript function from your href and in this way you can execute your button in the file operations-request.js

Something I can think of is

href="javascript:void(0);" onClick="acciondemiboton(".$fechas['numero_pdo'].");"

In the following league there is a very illustrative example example

    
answered by 26.11.2017 в 21:52