簡體   English   中英

在href標簽中調用參數時,如何將其傳遞給函數

[英]How can I pass an argument to a function when I have called it in the href tag

我正在創建一個通用的Web應用程序,請幫助我解決此邏輯/語法問題:我想創建一個表格,其中單元格內容為超鏈接,以便當用戶單擊鏈接時,它將打開一個新窗口以接受數據,還應該顯示在下一頁上單擊的單元格的內容。

這是我的Javascript代碼:

row = table.insertRow(-1);

var cell = row.insertCell(-1);

cell.innerHTML = '<a href="#" onclick = func(name);>'+name+'</a>';


function func(name)
        {


            localStorage.setItem("Selectedname",name);

            window.location.href="form_apraise.html";

        }

謝謝

嘗試使用enable pop window.open(' https://stackoverflow.com/','_blank ');

cell.innerHTML = '<a onclick="func("' + name + '");">' + name + '</a>';

這應該工作。 您實際上並不需要href屬性,因為在這種情況下這不是很有用。 任何元素都響應一個onclick事件。

您還可以將參數放在其他屬性中:

cell.innerHTML = '<a data-name="' + name + '" onclick="func();">' + name + '</a>';

然后在你的FUNC()使用this.dataset.name 這一這里更多

使用“ this”作為對觸發點擊事件的單元格的引用。

  cell.innerHTML = '<a href="#" onclick = "func(this);">'+name+'</a>';

使用element.text訪問單元格值

   function func(elem)
    {
        var name =elem.text;

        localStorage.setItem("Selectedname",name);

        window.location.href="form_apraise.html";

    }

您在這里有很多選擇,但我會告訴您其中3個:

1-通常,您只需在URL中發送參數即可,該參數將由您的后端處理,例如: http : //www.example.com/viewName/myName ,然后您可以使用window.open(URL,'_blank '),這將打開一個新窗口

2-您可以使用彈出窗口通過AJAX獲取信息,並顯示彈出窗口以接受您想做的任何事情。

3-您可以使用data-name屬性創建單元格,為單元格和任何庫分配一個類,或者通過Javascript僅將事件分配給該類的所有元素,讀取屬性並調用window.open(URL,' _blank')如下所示:

<tr><td class="myClass" data-name="Your Name">Your Name</td></tr>

在javascript(jQuery)中:

$(document).ready(function(){
   $(".myClass").click(function(){
     window.open("http://example.com/"+$(this).data("name"),"_blank")
   })
})

在您的情況下,簡單的方法是將名稱作為參數傳遞,打開一個新窗口,然后向客戶端顯示有關該名稱的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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