#javascript
Вопрос:
Здравствуйте, нам дали задание, в котором пользователь вводит любое значение только до 200, и если это простое число, оно должно выводить простое, а если нет, то не простое. Я уже точно изменил код. Однако это не работает. Почему это так?
<!DOCTYPE html>
<html>
<body>
<script>
function doAction(){
//gets the value from the text field with id input1 and stores it in variable num1
var num1 = document.getElementById("input1").value;
//HINT: loop through some finite number and check whether they are prime
//You can create a function out of the CheckPrime exercise and use that to check if a number is
Prime
//for loop the numbers until you satisfy the num1
function primeprinter(num1) {
for(var i = 2; i < num1; i )
if(num1 % i === 0) return false;
return num1 > 1;
if (primeprinter === true){
<p> Prime </p>
}
else{
<p> Not Prime </p>
}
}
//Challenges:
//validate if the input are numbers. Hint: Check out isNaN() function
//Validate the input to only be less than equal 200
}
</script>
<h2>Prime Numbers Printer</h2>
Prints the first N prime numbers. Only try up to 200.
<br/>
<br/>
Input1: <input type="text" id="input1"/>
<button type="button" onclick="doAction()">
Print Prime</button>
<br/>
<br/>
Result:
<p id="output"></p>
</body>
</html>
Я новичок в javascript. Пожалуйста, помогите мне ;-;
Комментарии:
1. Вы не можете встроить HTML в JavaScript, например
if (primeprinter === true){ <p> Prime </p> } else { <p> Not Prime </p> }
, не работает. Либо вы используете структуру шаблонов, такую как Handlebars , либо управляете DOM вручную.2. как ху-ху, пожалуйста, дайте ответ и объясните, что я все еще хватаюсь за cnt ;-;
Ответ №1:
Вы не можете встроить HTML в JavaScript, т. е. if (primeprinter === true){ <p> Prime </p> } else { <p> Not Prime </p> }
Он не работает. Вы могли бы манипулировать домом вручную.
function primeprinter(num1) {
for (let i = 2; i < num1; i )
if (num1 % i === 0) return false;
return num1 > 1;
}
function doAction() {
const num1 = document.getElementById("input1").value;
document.getElementById("output").innerHTML = primeprinter(num1) ? "Prime" : "Not Prime";
}
<h2>Prime Numbers Printer</h2>
<span>Prints the first N prime numbers. Only try up to 200.</span>
<br />
<br />
<label for="input1">Input1: </label><input type="text" id="input1" />
<button type="button" onclick="doAction()">Print Prime</button>
<br />
<br />
<span>Result:</span>
<p id="output"></p>
Комментарии:
1. @пустой Да, вы можете запустить его напрямую, нажав «Запустить фрагмент кода» и посмотреть, как он работает.
2. @blank Это работает на меня. Я нажимаю на «Запустить фрагмент кода». Откроется веб — сайт. Я ввожу 23, нажимаю кнопку и получаю
Prime
. Я ввожу 22, нажимаю кнопку и получаюNot Prime
. Что происходит, когда вы нажимаете «Запустить фрагмент кода»?