Planuję mieć pole potwierdzenie przed skryptami z bazy danych, na razie wybrano niewłaściwą linię.

Kod dla href

echo '<td align="center" valign="middle"><a href="delete.php?id='.$row["id"].'" class="confirmation"><img src="img/icon/delete.png"></a></td>';

Skrypt Java.

<script type="text/javascript">
    var elems = document.getElementsByClassName('confirmation');
    var confirmIt = function (e) {
        if (!confirm('Are you sure?')) e.preventDefault();
    };
    for (var i = 0, l = elems.length; i < l; i++) {
        elems[i].addEventListener('click', confirmIt, false);
    }
</script>

Po naciśnięciu obrazu "Usuń" po prostu usuwa wiersz, pojawi się skrzynkę potwierdzenia?

3
Joseph Thomas Mallinson 25 czerwiec 2017, 22:07

3 odpowiedzi

Najlepsza odpowiedź

Upewnij się, że znacznik skryptu znajduje się na końcu strony lub przynajmniej po linkach.

1
Yazan W Yusuf 25 czerwiec 2017, 20:13

Spróbuj wykonać następujący kod. Możesz to zrobić bez zewnętrznego javascript. Wystarczy dodać confirm Funkcja w onlick zdarzenia swojego linku.

PHP

echo '<td align="center" valign="middle"><a href="delete.php?id='.$row["id"].'" class="confirmation" onclick="return confirm(\'Are you sure?\');"><img src="img/icon/delete.png"></a></td>';
0
MahdiY 25 czerwiec 2017, 20:13

PHP

echo '<td align="center" valign="middle"><a data-href="delete.php?id='.$row["id"].'" href="javascript:;" onclick="confirmToDelete(this);"><img src="img/icon/delete.png"></a></td>';

JavaScript

<script>
  function confirmToDelete(element){
    if(!element) return false;
    if(confirm('Are you sure?')) self.location.href=element.getAttribute('data-href');
  }
</script>
0
Christian 25 czerwiec 2017, 20:02