• 16-01-2023, 16:00:30
    #1
    Selamlar,

    Bir duyuru sistemim var kullanıcılar bu duyuruları "Ekle" butonuna bastığı zaman otomatik olarak ekleyebiliyor.
    Sağ üst tarafa toastr ile küçük bir bildirim atıyor, buda yanlışlıkları engellemiyor.
    "Ekle" butonuna bastığın bu işlemi yapmak istediğinize emin misiniz? gibi bir soru sorup "Evet" butonuna bastığında işlemi yaptırmak istiyorum.
    Yanlışlıkların önüne geçmem gerekiyor çünkü kullanıcı Ekle butonuna bastığında sistem 300 kişiye aynı anda mail gönderiyor her ne kadar duyuruları ekleyenler bölüm müdürleri dahi olsa insan eli değdiği için hata lüksü vardır.

    Bu işlemi nasıl yapabilirim?

    POST ederken kullanmış olduğum ve bildirimi gönderdiğim kod parçacığı;

          $.ajax({
            url: "duyuru_ekle_islem.php",
            type: "POST",
            dataType: "JSON",
            data: {title: title, body: body, category_id: category_id},
            success: function(json){
               toastr.success(json.post.msg);
            }
          });
    Form içeriğim;

      <form id="post-form" enctype="application/x-www-form-urlencoded">
    
        <label for="title">Başlık:</label><br>
        <input class="form-control" type="text" id="title" name="title"><br>
    
    
        <label for="body">İçerik:</label><br>
        <textarea id="body" name="body">
          Sevgili Ailemiz,
          </br>
          </br>
          Sevgilerimizle,
          </br>
          <b>Bölüm Adı</b>
        </textarea>
        <label id="word-count"></label>
        <label>Departman:</label>
      ?>
    
        </br>
        <input style="padding:20px;" class="btn btn-success" type="submit" name="submit" value="Ekle">
    
      </form>
  • 16-01-2023, 16:06:17
    #2
    bootstrap Modal ya da sweet alert işinizi görecektir.
  • 16-01-2023, 16:06:42
    #3
    <input type="submit" id="gercek_submit" name="submit" style="visibility:hidden;">
    <input style="padding:20px;" class="btn btn-success" type="button" name="submit" value="Ekle" onclick="gonder();">
    Ekle butonunun submit değil; buton olarak ayarlarsanız, sweetalert ile de soru sordurursanız bence işinizi görebilir

    function gonder() {
            Swal.fire({
                title: 'Emin misiniz?',
                html: "Mailler gönderilecektir ve bu işlem geri alınamaz!",
                icon: 'warning',
                showCancelButton: true,
                confirmButtonColor: '#3085d6',
                cancelButtonColor: '#d33',
                confirmButtonText: 'Gönder',
                cancelButtonText: 'İptal'
            }).then((result) => {
                if (result.value) {
                    //ajax kodlarınız veya $('#gercek_submit ').click(); fonksiyonu ile gerçek butona tıklatabilirsiniz
                }
            })
        }
  • 17-01-2023, 00:35:40
    #4
    En basit hali ile javascript confirm kullanabilirsiniz.

    if(confirm("İşlemi yapmak istediğinize emin misiniz ?")){
           //Tamam dediğinde yapılacak işlemler burada olacak
    }else{
           //İptal/Hayır dediğinde yapılcak işlemler burada olacak
    }