2016-12-19 6 views
-2

Ich bin auf der Suche nach einer Lösung, um mir mit dynamischen Links zu helfen.Dynamic Link Change

Lassen Sie uns sagen, dass ich eine grundlegende Verbindung wie so haben:

<a href="~/Test/Test.pdf" target="_blank">Test Dynamic Links</a> 

Wenn ich eine Taste oder Eingabe haben vielmehr ein Benutzer zu lassen, dass die Verbindung mit einem anderen Link ersetzen, wie würde ich so tun, gehen über?

Beispiel:

Ein Benutzer möchte den Link ändern:

<a href="~/Test2/Test2.pdf" target="_blank">Test Dynamic Links</a> 

So würde klicken Sie auf den Benutzer die <input type="file" /> Taste .. blättern Öffnen zu ~/Test2/Test2.pdf und klicken Sie auf. Wie würde ich den Wert href des vorherigen Links auf den neuen über den Datei Explorer ändern?

Beachten Sie, dass sich der Text des Links nicht ändert.

Lassen Sie mich wissen, wenn ich etwas klären kann.

Jede Hilfe wird geschätzt.

+0

@BvilleKid keine der Antworten hier beantwortet Ihr Problem? Sie müssen mindestens ihre Bemühungen und Zeit anerkennen und sie wissen lassen, ob ihre Antwort für Sie arbeitet oder nicht. Ich denke, dass Sie einen gebührenden Respekt geben können, den Sie geben können. –

Antwort

1

So würde der Benutzer auf die Schaltfläche klicken .. wechseln Sie zu ~/Test2/Test2.pdf und klicken Sie auf Öffnen . Wie würde ich den href-Wert des vorherigen Links auf den neuen über den Datei-Explorer ändern?

Antwort ist können Sie nicht. Sie können den Client-Computerpfad nicht mit JavaScript lesen. Dies ist eine Sicherheitseinschränkung, der alle Browser folgen.

Auch wenn Sie den Dateipfad mit $('#yourFileInput').val() abrufen, erhalten Sie einen gefälschten Pfad, um die Benutzerinformationen zu sichern.

Sie können die filename jedoch erhalten. Wenn das für Sie von Nutzen ist.

0

Sie etikettierte Ihre Post mit jQuery, so ist hier, wie jQuery ein Attribut ändern:

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 
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">

Also, haben Sie Selektoren (wahrscheinlich) zu optimieren, aber das ist einfaches Beispiel ...