Nasıl başka bir komut dosyası için bir köprü geçiş 2 dizi değerlere sahip ve bu betiğin sayfa basılmış olabilir?

2 Cevap php

Ben bir diziden gösterilecek isimleri (1-15 satırlar) bir listesi var. Ben yönetici denilen hypertext tıklayarak listeden doğru isim seçmek istiyorum "bağlantısını." Kayıt kimliği dizide ve ben denilen script geçti istiyorum.

Ben linkur.php sayfası (kendi bilgi mesajları) yazdırmak istediğiniz dışında çalışan bu javascript bulundu. Ben çünkü boşluğun (0) yorum yazmaz ama gerekli doğru yöntem bilemiyorum biliyorum.

<a href="javascript:void(0);" onclick='$.get("linkur.php",{ rid: "<?php echo $k['id']; ?>", uid: "<?php echo $uid; ?>", } ,function(data){ $("#link<?php echo $k['id']; ?>").html(data); });'>Link</a>

Ayrıca, saf HTML ile köprü yapmak mümkün mü? Köprü dizisi değerleri geçen haricinde ileri düz.

Herhangi bir fikir için teşekkürler.

Carl

2 Cevap

Ben sizin istek karıştı biraz değilim. Sen uyumsuz bir istek gerek söz yok, ama sizin kod jQuery kütüphanesini kullanarak bunu yapıyor. Eğer uyumsuz bir istek gerekir ve son sayfasını görmek istemiyorsanız, sadece düzenli bir bağlantı oluşturmak:

<a href="linkur.php?rid=<?php print $rid; ?>&uid=<?php print $uid; ?>">Link</a>

Bu oldukça değişkenler daha katı değerlere sahip sayfada hale olacaktır:

<a href="linkur.php?rid=123&uid=281">Link</a>

Eğer link tıklandığında sonra, ekranda çıktısı görme, son komut dosyası rid=123 ve uid=281 geçerdi.

Properly Adding some Asynch'ness

Eğer uyumsuz bu verileri yüklemek gerekiyorsa, kod sadece küçük bir ek var. Biz sadece yukarıda başvurulan orijinal bağlantıyı tutmak, ama bir sınıf eklemek:

<a href="linkur.php?rid=123&uid=281" class="loadme">Link</a>

Şimdi jQuery ile biz bu istekleri incercept ve başka bir yerde onların HTML yükleyebilirsiniz:

$(function(){
  // Intercept the click event of our links
  $(".loadme").click(function(e){
    // Prevent them from leaving the page
    e.preventDefault();
    // Fire off a request for their content
    $.get($(this).attr("href"), function(data) {
      // Load their content into a container on our page
      $("#content-viewer").html(data);
    }, "html");
  });
});

I a #content-viewer başvurulan unutmayın. Eğer sayfa yere bu olması gerekir:

<div id="content-viewer">I will show the content .loadme links!</div>

Sizin yaklaşım, az söylemek biraz hacky olduğunu. Bunu yapmak için doğru yolu ayrı ayrı işlevlerini bağlamak olacaktır oysa şimdi, her linke javascript şeyler olması gerekir. Bunun yerine böyle bir şey yapabilirsiniz:

<a href="#" class="some_links" rel="<?php echo $k['id']; ?>" href="linkur.php?rid=<?php echo $k['id']; ?>&uid=<?php echo $uid; ?>">Link</a>

Hangi olur tarayıcıya çıktı gibi:

<a href="#" class="some_links" rel="123" href="linkur.php?rid=123&uid=456">Link</a>

Ve ayrı bir JavaScript dosyası:

$('a.some_links').click(function() {
    $("#link"+$(this).attr('rel')).load($(this).attr('href'));
    return false;
});

Ben kodunuzu doğru anlaşıldığı takdirde, bu tam olarak aynı şeyi yapacak - #link+rid elemanına geçirilen değişkenler linkur.php gelen içerik yükleme.