код работет в фаерфокс, но не работает в хроме, только начала изучать язык:(

// работает в фаерфокс, не работает в хроме
let n = document.getElementById('input1').value;

function showPrimes(n) {
  nextPrime:
  for(let i=3; i<=n; i++) {
    for(let j=2; j<i; j++) {
      if(i%j==0) continue nextPrime;
    }
    document.getElementById('out').innerHTML += `${i}, `;
    // хром не возвращает i, но он в принципе вообще очищает value
    console.log(i);
  }
  // создаем массив из элементов ' i'
  let arr = document.getElementById('out').innerHTML.split(',');
  // в гугл хром получаем массив в 1 элемент == ['Все простые числа до вашего числа: ']
  // в фаерфокс - добротный массив, как и надо
  console.log(arr)

  // возвращаем последний натуральный элемент массива (реально последний - пробел)
  let lastEl = arr.findLast(function(i) {
    return i > 0;
  });
  // убираем некрасивое ', undefined.' в конце
  if(lastEl == undefined) {
    document.getElementById('out').innerHTML = 'Введите число';
  } else {
  // удаляем пробел и последний натуральный элемент полученного массива
  arr.pop();
  arr.pop();
  // выводим массив без последнего элемента
  document.getElementById('out').innerHTML = `${arr}`;
  // добавляем последний элемент массива в корректной форме
  document.getElementById('out').innerHTML += `, ${lastEl}.`;
  }
}

showPrimes(n);
document.querySelector('.btn').addEventListener('click', () => window.location.reload());
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
      <title>Калькуляторик</title>

    <link rel="stylesheet" href="css/culc.css" >

  </head>
  <body>
    <!-- для функции простых чисел -->
    <label for="input1" id="lab1">Введите число: </label>
    <input type="text" id="input1" name="input"><br>

    <button type="button" name="button" class="btn">Начать</button><br>
    <div id="out">Все простые числа до вашего числа: </div>


  <script type="text/javascript" src="js/culc.js"></script>
  </body>
</html>


Ответы (1 шт):

Автор решения: nörbörnën

document.getElementById('button1').addEventListener(
  'click', renderPrimeNumbers
);

function renderPrimeNumbers() {
  const inpEl = document.getElementById('input1');
  const outEl = document.getElementById('out');
  outEl.innerHTML = '';

  if (!/^\d+$/.test(`${inpEl.value}`)) {
    return;
  }

  const inputNumber = +inpEl.value;
  const primeNumbers = getPrimeNumbers(inputNumber);
  outEl.innerHTML = primeNumbers.join(', ');
}

function getPrimeNumbers(n) {
  const result = [];

  nextPrime:
  for (let i = 2; i < n; i++) {
    for (let j = 2; j < i; j++) {
      if (i%j === 0) continue nextPrime;
    }
    result.push(i);
  }
  
  return result;
}
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Калькуляторик</title>
  </head>
  <body>
    <p>
      <label for="input1">Введите число:
        <input type="number" id="input1" name="input" value="0">
      </label>
      <button type="button" name="button" class="btn" id="button1">Показать числа</button>
    </p>

    <div>Все простые числа до вашего числа: <span id="out"></span></div>
  </body>
</html>

→ Ссылка