2017-07-04 94 views
1

我有一个使用按钮下载文件的网页,但对于某些情况下文件不会退出并且下载链接是空白的......所以无论何时用户点击链接页面只需重新加载。如果我可以以某种方式禁用页面重新加载,并显示说,文件尚未提供警报。单击空白链接时是否阻止页面重新加载?

这是下载链接按钮code.row [“slink”]给出下载链接,并可能在某个时候变空。

'<a href="'+row["slink"]+'"><button type="button" class="btn btn-info " data-row-id="' + row.id + '">Download</buttn></a> '; 
+0

[我应该在JavaScript链接中使用哪个“href”值,“#”或“javascript:void(0)”?](https://stackoverflow.com/questions/134845/which-href- value-should-i-use-for-javascript-links-or-javascriptvoid0) – lalithkumar

+1

你不能只是在产生这个HTML的行的上面写一个'if'语句来检查URL是否存在?如果它不只是不打印链接 – vsync

+0

我需要打印链接,因为多个文件显示在表中的同一页上。所以如果我不打印一个链接,看起来不好.. –

回答

3

检查row['slink']存在,否则有的JavaScript替换HREF:警报(...)(这不会为空白的href做的页面重载,并显示警报):

var href = row["slink"].trim().length > 0 ? row["slink"] : "javascript:alert('File Not Yet Available')" 


'<a href="'+href+'"><button type="button" class="btn btn-info " data-row-id="' + row.id + '">Download</buttn></a> '; 
+2

或添加警报''javascript:alert('没有链接可用');' –

+1

awesome..Works非常感谢.. –

1

简单的解决方案

您可以设定目标为空白:

<a ... ... target="_blank" > ... </a> 

这将在新选项卡中打开而不是刷新。

更复杂的方法:

您也可以使用条件来构建您的锚标记。

if (row["slink"] == "") 
{ 
    var atag = '<a href="javascript:void(0)" onclick="alert(&quot;No File Available&quot;)"><button type="button" class="btn btn-info " data-row-id="' + row.id + '">Download</button></a> '; 
} 

如果没有文件,这会发出警报。

+0

这确实帮了我,但警报框没有显示,但其他答案很好.. –

+0

这是双引号。我很愚蠢,会编辑,注意警报中的"值 - 在这个标记生成器代码中不能使用相同的引号," html代码会将其排序。 – Terrance00

相关问题