2 回答
TA贡献2080条经验 获得超4个赞
无法评论(声誉不够),所以我将以答案的形式写下我的评论。
这行代码有 3 个问题:
for (i = figure1; i <= figure2; i++)
你说这个函数的目的是确保 figure1 和 figure2 都是数字,但是通过把它们放在一个这样的循环中,你已经假设它们是数字。想想看 - 如果值不是数字,您如何增加它们并将它们与for循环进行比较?
您假定图 1 始终小于图 2。我有这个假设的基础吗?如果它是假的,那么循环甚至不会执行一次。
此外,我不明白为什么需要循环。如果要检查输入是否为整数,则需要循环并更改其值?检查一次应该就足够了。
修复这些问题并检查您的问题是否仍然存在。
TA贡献1869条经验 获得超4个赞
没关系
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type = "text/javascript">
function show()
{
var figure1 = document.getElementById("field1").value; //Zmienna przechowuje wartość pola field1, które zostaje zczytane po wywołaniu funkcji przy użyciu zdarzenia "onclick"
var figure2 = document.getElementById("field2").value; //Zmienna przechowuje wartość pola field2, które zostaje zczytane po wywołaniu funkcji przy użyciu zdarzenia "onclick"
let sign = ""; //zmienna przechowuje pusty ciąg znaków, do momentu nadpisania jej zawartości przez instrukcje funkcji
if (Number(figure1) && Number(figure2))
{
for (i=figure1; i<=figure2; i++) //pętla wykonująca się dopóki wartość figure1 jest mniejsza lub równa figure2
{
sign = sign + i + ", "; //jeżeli obie wartości pobrane z pól field1 i field2 są liczbami, to wykonuj instrukcję pętli for, tj. inkrementuj wartość i od wartości field1 do wartości field2
}
for (i=figure1; i>=figure2; i--)
{
sign = sign + i + ", "
}
}
else if (Number(figure1))
{
sign = "Proszę wpisać wartość liczbową w polu prawym";
}
else if (Number(figure2))
{
sign = "Proszę wpisać wartość liczbową w polu lewym";
}
else
{
sign = "Proszę wpisać wartości liczbowe w polach prawym i lewym";
}
document.getElementById("result").innerHTML = sign; //podmienia wartość diva o id result na wartość zmiennej sign.
}
</script>
</head>
<body>
<input type="text" id="field1"> <!--W tym polu umieszczamy liczbę z przedziału-->
<input type="text" id="field2"> <!--W tym polu umieszczamy liczbę z przedziału-->
<input type="submit" value="pokaż" onclick="show()"> <!--Po kliknięciu zostaje wywołana funkcja "show()"-->
<div id="result"></div> <!--wnętrze diva podmienimy przy użyciu funkcji "show()"-->
</body>
</html>
添加回答
举报