2015-12-20 2 views
0

Хорошо, я действительно не могу найти что-либо относительно ТОЧНО, что я делаю.Hyperlink загружает то, что img src

В любом случае мне нужно установить гиперссылку для загрузки изображения. У этого образа уже есть идентификатор.

Каждый раз, когда пользователь отображает изображение, ссылка для загрузки загружает изображение, которое они ввели.

При запуске кода введите 255812 для кода изображения.

function myFunction() { 
 
    var x = document.getElementById("imagetxt").value; 
 
    var y = "http://wallpapers.wallhaven.cc/wallpapers/full/wallhaven-" + x + ".jpg"; 
 

 
    // Creating an image 
 
    var img = new Image(); 
 

 
    // Defining the function if image loads successfully. 
 
    img.onload = function() { 
 
    document.getElementById("image1").src = y; 
 
    }; 
 

 
    //Defining the function if image fails to load. 
 
    img.onerror = function() { 
 
    alert("Image not found"); 
 
    }; 
 
    img.src = y; 
 
}
<body align="center"> 
 
    <div> 
 
    <img src="http://i.imgur.com/dXo8Fxp.png" width="20%" height="20%"> 
 
    </div> 
 
    <div> 
 
    <img src="http://i.imgur.com/jCOLCiU.png" width="8%" height="8%"> 
 
    </div> 
 
    <div> 
 
    <input id="imagetxt" size="6" type="text" value=""> 
 
    </div> 
 
    <div> 
 
    <input id="btn1" type="button" value="Display" onclick="myFunction()" style="top: 5px; position: relative;"> 
 
    </div> 
 
    <div> 
 
    <img id="image1" src="" width="30%" height="30%" style="top: 10px; position: relative;"> 
 
    </div> 
 
    <a href="???" id="imageDL" onclick="??">DOWNLOAD THIS</a>

+0

Do производит желаемый эффект, указать URL для файла, на который будет загружен. Измените переменную 'location' в JavaScript на абсолютный URL-адрес файла, который вы хотите загрузить. – www139

+0

FYI 'align' серьезно устарел. – www139

+0

@ www139 Вот что я не знаю, как это сделать. измените местоположение URL-адреса с помощью javascript. – L3SAN

ответ

1

Избавиться от OnClick на якорь тег

<a href="#" id="imageDL" download>DOWNLOAD THIS</a> 

Установите HREF анкера в img.onload

img.onload = function() { 
    document.getElementById("image1").src = y; 
    document.getElementById("imageDL").href = y; 
}; 
+0

Сэр, ты мужчина! – L3SAN

+0

Теперь все, что мне нужно сделать, это установить имя загрузки. Я устал делать download = "name1", но это не сработало. – L3SAN

+0

Я также пробовал document.getElementById ("imageDL"). Download = "name"; – L3SAN

0

Добавьте это к концу myFunction

document.getElementById("imageDL").href = y; 

function myFunction() { 
 
    var x = document.getElementById("imagetxt").value; 
 
    var y = "http://wallpapers.wallhaven.cc/wallpapers/full/wallhaven-" + x + ".jpg"; 
 

 
    // Creating an image 
 
    var img = new Image(); 
 

 
    // Defining the function if image loads successfully. 
 
    img.onload = function() { 
 
    document.getElementById("image1").src = y; 
 
    }; 
 

 
    //Defining the function if image fails to load. 
 
    img.onerror = function() { 
 
    alert("Image not found"); 
 
    }; 
 
    img.src = y; 
 
    
 
    document.getElementById("imageDL").href = y; 
 
}
<body align="center"> 
 
    <div> 
 
    <img src="http://i.imgur.com/dXo8Fxp.png" width="20%" height="20%"> 
 
    </div> 
 
    <div> 
 
    <img src="http://i.imgur.com/jCOLCiU.png" width="8%" height="8%"> 
 
    </div> 
 
    <div> 
 
    <input id="imagetxt" size="6" type="text" value=""> 
 
    </div> 
 
    <div> 
 
    <input id="btn1" type="button" value="Display" onclick="myFunction()" style="top: 5px; position: relative;"> 
 
    </div> 
 
    <div> 
 
    <img id="image1" src="" width="30%" height="30%" style="top: 10px; position: relative;"> 
 
    </div> 
 
    <a href="???" id="imageDL" onclick="??">DOWNLOAD THIS</a>

+0

Я просто запустил фрагмент кода .. все, что он сделал, - это увеличение изображения на весь экран. – L3SAN