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