Javascript ile Değer Gönder

3 Cevap php

Aşağıdaki fonksiyonu ile sıkışmış küçük bir Im. Bu yüzden benimle çıplak lütfen, javascript / ajax ile toplam çaylak Im, Lütfen dikkat:

<script type="text/javascript">
function removeElement($parentDiv, $childDiv){


     if (document.getElementById($childDiv)) {    
          var child = document.getElementById($childDiv);
          var parent = document.getElementById($parentDiv);
          parent.removeChild($child);
     }
}
</script>

<a href=\"javascript:;\" onClick=\"removeElement('$parent','$child');\">x</a>

Bu fonksiyon büyük istemci tarafında çalıştığı, bir alt öğe siler ve içeriği! Ama ben aynı durumda, sunucuya bir değer geçmek isteyen am, bu yüzden elemanın içeriği çok mysql veritabanından silinebilir. Ben bunu nasıl hiçbir fikrim yok, bu yüzden herhangi bir öneriniz çok takdir edilecektir!

Notlar: $ çocuk ve ebeveyn $ ben her elemanını benzersiz bir kimlik vermek için kullanın ki, php dosyası içinde oluşturulur dizeleri vardır.

3 Cevap

Hayatınızı kolaylaştırmak için, jQuery veya benzeri çerçeve kullanın. İşte jQuery bunu yapacağını nasıl:

$(function() {
    $('.delete').click(function() {
        var link = $(this);
        var id = link.attr('id').replace('element_', '');
        $.ajax({
            url: 'handler.php',
            data: {
                element: id
            },
            type: 'post',
            success: function() {
                link.remove();
                // Or link.closest('tr').remove() if you want to remove a table row where this link is
            }
        });
        return false;
    });
});

HTML:

<a href="#" class="delete" id="element_20">Remove</a>

Ve handler.php:

mysql_query("DELETE FROM `table` WHERE id = '".mysql_real_escape_string($_POST['element'])."'");

Her zaman veritabanı giriş kaçmak için unutmayın!

Dediğin gibi tam bir çaylak iseniz, muhtemelen bu yüzden jQuery AJAX yetenekleri hakkında ve jQuery veya benzer JavaScript çerçevesini kullanarak genel gelişimi hakkında bir şeyler okumak öneririz tüm bu anlamak olmaz.

Ben bir kimliği kullanarak bir varlık silmek istediğiniz Diyelim

JQUERY - $.post() This is an easy way to send a simple POST request to a server without having to use the more complex $.ajax function. It allows a single callback function to be specified that will be executed when the request is complete (and only if the response has a successful response code). Jquery post docs

Sunucu varsayarak üzerinde açık bir veritabanı bağlantısı var.

mysql_query (. $ _POST ['ID'] "ID = tablosundan silinecek");

daha on mysql_query burada bulunabilir

EDIT:

Ajax sonrası tamamlandığında Yani şu tek öğe kaldırmak olacaktır. Ilk arg harekete alacak script url Not, ikinci gönderilecek veri bu durumda ID sonrası değeri {} child.id olacak ve üçüncü alacak bir anon inline geri arama işlevi eleman istemci tarafında kaldırmak için eylem.

<script type="text/javascript">
function removeElement($parentDiv, $childDiv){
if (document.getElementById($childDiv)) {
          var child = document.getElementById($childDiv);
          var parent = document.getElementById($parentDiv);  
          $.post('{URLTOSCRIPT}', 'ID=$child.id',function () { parent.removeChild($child); });

}}
</script>

Eğer işlevini çağırdığınızda, bunu gibi etiketleri PHP değişkenleri koymak isterdim:

<?php echo $parent; ?>

ve

<?php echo $child; ?>

In the function definition, you will want to get rid of the PHP style variables ve use something like:

function removeElement(parentDiv, childDiv) { //CODE }