我正在创建一个评估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";
}
谢谢
答案 0 :(得分:1)
尝试使用启用弹出窗口 window.open('https://stackoverflow.com/','_ blank');
答案 1 :(得分:1)
cell.innerHTML = '<a onclick="func("' + name + '");">' + name + '</a>';
这应该有效。你真的不需要href属性,因为在这种情况下它不是很有用。任何元素都会响应onclick事件。
您还可以将参数放在其他属性中:
cell.innerHTML = '<a data-name="' + name + '" onclick="func();">' + name + '</a>';
然后在你的func()中使用this.dataset.name More on this here
答案 2 :(得分:0)
使用'this'作为对触发click事件的单元格的引用。
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 :(得分:0)
你有很多选择,但我会告诉你3个:
1-通常情况下,你可以在你的网址中发送参数,然后由你的后端处理,如下所示: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")
})
})
在您的情况下,简单的方法是将名称作为参数传递,打开一个新窗口,然后向客户端显示有关该名称的信息。