мой код javascript не связан с доменом [дубликат]

Aug 19 2020

Передо мной стояла задача создать функцию, которая распознает простое число, и которая отлично работала на консоли, пока я не связал свой константный номер со входом, а свою функцию с кнопкой.

const btn = document.querySelector('.btn1')
if (btn) {
  btn.addEventListener('click', isitPrime)
}

function isitPrime() {
  const number = document.querySelector('.input1').innerHTML
  const answer = document.querySelector('.answer')
  let isPrime = true
  for (let i = 2; i < number; i++) {
    if (number % i === 0) {
      isPrime = false
      answer.innerHTML = (`${number} is not prime ${number} can be divided by ${i}`) } if (isPrime) { answer.innerHTML = (`${number} is prime`)
    }
  }
}
<input type="text" class="input1">
<button class="btn1">click here</button> <br/><br/>
<div class="answer"></div>

Как решить эту проблему?

Ответы

3 Namysh Aug 19 2020 at 04:58

Чтобы получить значение ввода, вы должны использовать valueсвойство вместо innerHtmlодного, например:

const btn = document.querySelector('.btn1')
if(btn){
    btn.addEventListener('click', isitPrime)
}
function isitPrime(){
    // here we get 'value' property instead of 'innerHtml' property
    const number = document.querySelector('.input1').value
    const answer = document.querySelector('.answer')
    let isPrime = true
    for(let i = 2; i < number; i++){
        if(number % i === 0){
            isPrime = false
            answer.innerHTML = (`${number} is not prime ${number} can be divided by ${i}`) } if(isPrime){ answer.innerHTML = (`${number} is prime`)
        }
    }
}
<input type="text" class="input1">
<button class="btn1">click here</button>  <br/><br/>
<div class="answer"></div>

1 AnupShrestha Aug 19 2020 at 05:01

document.querySelector ('. input1'). innerHTML Это неверно

Вы должны использовать document.querySelector ('. Input1'). Value