I'm trying to make a simple link to html maker, but the thing is variables aren't working
var text1 = document.getElementById("text1");
var link1 = document.getElementById("link1");
var input = document.getElementById("thetext");
var flink1 = "<a href='" link1.value "'>" text1.value "</a>";
function generate() {
input.value = flink1
}
input,
textarea {
width: 100%;
height: 50px
}
<textarea id="thetext" ></textarea>
<br/><br/>
<input id="link1" placeholder="link"></input><br/><br/>
<input id="text1" placeholder="link title"></input><br/><br/>
<button id="" onclick="generate()"></button>
Can anyone say what's the issue
CodePudding user response:
Your flink1 will always contain empty strings for href and innerText because your generate doesn't update its value upon user input.
Move the variable definition inside generate call, and it'll work as intended.
var text1 = document.getElementById("text1");
var link1 = document.getElementById("link1");
var input = document.getElementById("thetext");
function generate() {
var flink1 = "<a href='" link1.value "'>" text1.value "</a>";
input.value = flink1
}
input,
textarea {
width: 100%;
height: 50px
}
<textarea id="thetext" ></textarea>
<br/><br/>
<input id="link1" placeholder="link"></input><br/><br/>
<input id="text1" placeholder="link title"></input><br/><br/>
<button id="" onclick="generate()">Generate</button>
CodePudding user response:
This is your answer.
function generate() {
var text1 = document.getElementById("text1");
var link1 = document.getElementById("link1");
var input = document.getElementById("thetext");
var flink1 = "<a href='" link1.value "'>" text1.value "</a>";
input.value = flink1;
}
input,
textarea {
width: 100%;
height: 50px
}
<textarea id="thetext" ></textarea>
<br/><br/>
<input id="link1" placeholder="link"></input><br/><br/>
<input id="text1" placeholder="link title"></input><br/><br/>
<button id="" onclick="generate()">Generate</button>
