我正在寻找帮助我建立动态链接的解决方案。
假设我有一个类似的基本链接:
<a href="~/Test/Test.pdf" target="_blank">Test Dynamic Links</a>
如果我有一个按钮或输入,让用户用另一个链接替换该链接我将如何进行呢?
示例:
用户想要将上面的链接更改为:
<a href="~/Test2/Test2.pdf" target="_blank">Test Dynamic Links</a>
因此,用户可以点击<input type="file" />
按钮..浏览到~/Test2/Test2.pdf
,然后点击“打开”。如何使用文件资源管理器将前一个链接的href
值更改为新值?
请记住,链接的文字不会改变。
如果我能澄清任何事情,请告诉我。
感谢任何帮助。
答案 0 :(得分:2)
$(".upload").change(function() {
$(this).prev('a').attr('href',$(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="~/Test/Test.pdf" target="_blank">Test Dynamic Links</a>
<input type="file" class="upload">
所以,你必须调整选择器(可能),但这是基本的例子......
答案 1 :(得分:1)
因此,用户将单击按钮..浏览到〜/ Test2 / Test2.pdf并单击“打开”。如何使用文件资源管理器将上一个链接的href值更改为新链接?
答案你不能。您无法使用JavaScript读取客户端计算机路径。这是所有浏览器遵循的安全限制。
即使您使用$('#yourFileInput').val()
获取文件路径,它也会为您提供保护用户信息的虚假路径。
但是你可以获得filename
。如果这对你有用。
答案 2 :(得分:0)
您使用jQuery标记了帖子,所以这里是如何使用jQuery更改属性:
HTML:
<a class="testlink" href="~/Test/Test.pdf" target="_blank">Test Dynamic Links</a>
JS:
var link = "~/Test2/Test2.pdf"; //set var to new href
$('.testlink').attr('href', link); //set link href to var