[英]How can I have a hyperlink pass 2 array values to another script and have that script's page printed?
我有一個從數組顯示的名稱列表(1-15行)。 我希望管理員通過單擊稱為“鏈接”的超文本從列表中選擇正確的名稱。 記錄ID在數組中,我希望將其傳遞給調用的腳本。
我發現此javascript可以正常工作,但我希望打印出linkur.php頁面(及其信息消息)。 我知道由於void(0)而無法打印,但是無法確定所需的正確方法。
<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>
另外,是否可以使用純HTML進行超鏈接? 超鏈接是直接的,除了傳遞數組值。
感謝您的任何想法。
卡爾
您的要求令我有些困惑。 您沒有提到需要異步請求,但這就是您的代碼使用jQuery庫所做的事情。 如果您不需要異步請求,並且想要查看結束頁面,則只需構建一個常規鏈接:
<a href="linkur.php?rid=<?php print $rid; ?>&uid=<?php print $uid; ?>">Link</a>
這將在頁面上以實值而不是變量呈現:
<a href="linkur.php?rid=123&uid=281">Link</a>
單擊鏈接后,將rid = 123和uid = 281傳遞給結束腳本,並在屏幕上看到其輸出。
如果您需要異步加載此數據,則代碼中只添加了少量內容。 保留上面剛剛引用的原始鏈接,但向其中添加一個類:
<a href="linkur.php?rid=123&uid=281" class="loadme">Link</a>
現在,使用jQuery,我們可以確定這些請求並在其他位置加載它們的HTML:
$(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");
});
});
請注意,我引用了#content-viewer
。 您需要將其放置在頁面的某個位置:
<div id="content-viewer">I will show the content .loadme links!</div>
至少可以這樣說,您的方法有點笨拙。 現在,您需要在每個鏈接上都包含javascript內容,而正確的方法是分別綁定函數。 您可以改為執行以下操作:
<a href="#" class="some_links" rel="<?php echo $k['id']; ?>" href="linkur.php?rid=<?php echo $k['id']; ?>&uid=<?php echo $uid; ?>">Link</a>
它將以以下方式輸出到瀏覽器:
<a href="#" class="some_links" rel="123" href="linkur.php?rid=123&uid=456">Link</a>
並在一個單獨的Javascript文件中:
$('a.some_links').click(function() {
$("#link"+$(this).attr('rel')).load($(this).attr('href'));
return false;
});
如果我正確理解了您的代碼,這將做完全相同的事情–將具有傳遞變量的linkur.php中的內容加載到#link #link+rid
元素中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.