[英]Calling Javascript function with multiple parameters from gridview hyperlink
[英]Calling javascript Function from HTML with multiple parameters
我正在嘗試調用一個名為 confirmRemove(title, id) 的 javascript 函數來從表中刪除一個元素。 當用戶單擊看起來像“X”的鏈接時,應調用此函數。 我在下面附上了我的代碼來展示我是如何做到這一點的,但我似乎遇到了一些錯誤,我不確定為什么。 大多數元素都可以刪除,但是當我單擊鏈接調用函數時,有一些元素沒有任何反應。 有更好的方法嗎? 不知道為什么會這樣。
<td><?php echo '<a onclick="confirmRemove(\'' . $title . '\',\'' . $id . '\')"
href="javascript:void(0)">X</a>';?></td>
你可以試試這段代碼
<td> <a onclick="confirmRemove('<?php echo $title; ?>','<?php echo $id; ?>')"
href="javascript:void(0)">X</a></td>
您詢問是否有更好的方法來執行此操作 - 我建議有並且它是使用綁定到所討論的特定 HTML 元素的外部注冊事件處理程序 - 特別是本例中的超鏈接。
如果您將相關屬性分配給超鏈接(數據集屬性對於此類任務非常有用),您可以非常輕松地在事件偵聽器中處理它們。 采用這種方法不需要對引號進行復雜的escaping
,最重要的是你可以將 HTML 與 Javascript 分開——事件處理程序可以在另一個文件中
<td>
<a class='removal' href='javascript:void(0)' data-title="<?php echo $title;>" data-id="<?php echo $id;?>">X</a>
</td>
<script>
Array.from( document.querySelectorAll('a.removal') ).forEach( a=>{
a.addEventListener('click',function(e){
confirmRemove( this.dataset.title, this.dataset.id )
});
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.