簡體   English   中英

使用多個參數從 HTML 調用 javascript 函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM