J'utilise un popup sweetalert. J'appelle la fonction à partir de la balise d'ancrage mais elle ne prend aucune action. Voulez-vous m'aider dans ce domaine?

  <link rel="stylesheet" href="assets/css/sweetalert2.min.css">
  <script src="assets/scripts/sweetalert2.min.js"></script>
  <script src="assets/vendor/jquery/jquery.min.js"></script>
  echo ' <td class="btn-action"><a href="javascript:void(0);" onClick="record_delete('.$p_user_id.')" class="btn-delete"><i class="fa fa-times" aria-hidden="true"></i></a></td>';



  <script>
  function record_delete(id){
    swal({
     title: 'Are you sure?',
     text: "You want to move this record",
     type: 'warning',
     showCancelButton: true,
     confirmButtonColor: '#3085d6',
     cancelButtonColor: '#d33',
     confirmButtonText: 'Yes, move it!'
    },function () {
        window.location='process.php?function=p_delete&p_Id='+id+'';
    }); 
  }
  </script>
1
Naren Verma 1 mai 2017 à 16:28

3 réponses

Meilleure réponse

Vous devez citer p_user_id:

echo '<td class="btn-action"><a href="javascript:void(0);" 
          onClick="record_delete(\''.$p_user_id.'\')" class="btn-delete">
      <i class="fa fa-times" aria-hidden="true"></i></a></td>';
2
George Garchagudashvili 1 mai 2017 à 14:05

L'identifiant commence immédiatement après le littéral numérique.

Cela se produit uniquement lorsque la chaîne est cassée quelque part.

Dans ce cas, cela ne peut arriver que sur 2 cas:

1) $ p_user_id passé dans la fonction js contient un guillemet simple ou double. Pour cela Pouvez-vous s'il vous plaît partager l'identifiant passé?

2) Vos déclarations php ne sont pas enveloppées dans des balises php. Pour cela, essayez:

<?php echo ' <td class="btn-action"><a href="javascript:void(0);" onClick="record_delete('.$p_user_id.')" class="btn-delete">asdfa</a></td>';?>
1
informer 1 mai 2017 à 14:05

Changez votre ancre pour être comme ça

<a href="javascript:record_delete("'.$p_user_id.'");return false'" class="btn-delete">
1
Hasan Elsherbiny 1 mai 2017 à 14:28