Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

185
Vistas
innerHTML won't display random text

Today I made this JS code which, on a button click, should select a random message from the list and then display it. However, it just grabs one from the list (test4) and displays that specific one all the time. I can't figure out what to do to solve the problem. When I log it to the console I get the correct html.

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>

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

The problem is with your if condition where you are not evaluating but simply assigning a value. This means your last if condition overrides the result. You need to use == instead of =

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();
}

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]

  if (pm == pm1) {
    pm1text();
  }
  if (pm == pm2) {
    pm2text();
  }
  if (pm == pm3) {
    pm3text();
  }
  if (pm == pm4) {
    pm3text();
  }
}

function pm1text() {
  document.getElementById("pmdiv").innerHTML = `${pm1}`
}

function pm2text() {
  document.getElementById("pmdiv").innerHTML = `${pm2}`
}

function pm3text() {
  document.getElementById("pmdiv").innerHTML = `${pm3}`
}

function pm4text() {
  document.getElementById("pmdiv").innerHTML = `${pm4}`
}
<div id="pmdiv">

</div>
<article><button class="button" id="next" onclick="nextPM();">Next</button></article>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda