After hours of working on this JS code, I finally created a function that should select a random message from the list and display it upon clicking a button. However, instead of displaying a different message each time, it keeps showing the same one (test4). I'm stuck and can't seem to figure out how to fix this issue. The console log shows the correct HTML output, so I'm not sure what's causing the problem.
var r_text = new Array();
var r_pm = new Array();
let pm1 = `<p id="pname"></p>
<h3 id="pm">test1</h3>`
let pm2 = `<p id="pname"></p> <h3 id="pm">test2</h3>`;
let pm3 = `<p id="pname"></p> <h3 id="pm">test3</h3>`;
let pm4 = `<p id="pname"></p> <h3 id="pm">test4</h3>`;
let pm5 = `<p id="pname"></p> <h3 id="pm">test5</h3>`;
function nextPM() {
getPM();
getPname();
}
function getPM() {
r_pm[0] = pm1;
r_pm[1] = pm2;
r_pm[2] = pm4;
i = Math.floor(3 * Math.random())
let pm = r_pm[i]
console.log(pm)
if (pm = pm1) {
pm1text();
}
if (pm = pm2) {
pm2text();
}
if (pm = pm3) {
pm3text();
}
if (pm = pm4) {
pm3text();
}
}
function pm1text() {
document.getElementById("pmdiv").innerHTML = `${pm1}`
if (pmanswer = fix) {
goodanswer();
}
if (pmanswer = agyogyit) {
badanswer();
let hibapont = +1;
}
}
function pm2text() {
document.getElementById("pmdiv").innerHTML = `${pm2}`
if (pmanswer = agyogyit) {
goodanswer();
}
if (pmanswer = fix) {
badanswer();
let hibapont = +1;
}
}
function pm3text() {
document.getElementById("pmdiv").innerHTML = `${pm3}`
if (pmanswer = agyogyit) {
goodanswer();
}
if (pmanswer = fix) {
badanswer();
let hibapont = +1;
}
}
function pm4text() {
document.getElementById("pmdiv").innerHTML = `${pm4}`
if (pmanswer = agyogyit) {
goodanswer();
}
if (pmanswer = fix) {
badanswer();
let hibapont = +1;
}
}
<div id="pmdiv"></div>
<article>
<button class="button" id="next" onclick="nextPM();">Next</button>
</article>