限制可以在形式中选择的数字的选择,以避免素数

  • 本文关键字:选择 数字 php forms limit
  • 更新时间 :
  • 英文 :


我有一个客户填写的表格。其中一个选项是选择要购买的区块数量。目前,这被限制在1到49之间,但我想进一步限制用户使用非素数的数字,并"灰色"掉任何素数,这样他们就无法选择它。

目前,我正在表单提交后进行检查,并生成错误消息。为了使其更可用,我想在用户通过滚动计数器选择数字时限制数字。

计数器的代码为:

<div class="row itemlabel">
<div class="col-lg-7">
Blocks [ Size : 10 pixels X 10 pixels : Min 1 - Max 49 : No Prime Numbers Please]
</div>
<div class="col-lg-2">
<input class="form-control" type="number" value="1" min="1" max="49" id="blockCount"/>
</div>
<div class="col-lg-3"></div>
</div>

我找到了限制复选框选项等的答案,但没有找到计数器。不确定这是否可能。

确定

因此,我根据给出的建议创建了一些测试代码。我发现"oninput"事件是正确的事件类型。

代码如下:

<!DOCTYPE html>
<html>
<body>
<p>Blocks [ Size : 10 pixels X 10 pixels : Min 1 - Max 49 : No Prime Numbers Please]</p>

<input type="number" value="1" min="1" max="49" id="blockcount" oninput="primenotest()"/>
<p id="demo"></p>
<script>
function primenotest() {
var x = document.getElementById("blockcount").value;
/** check if X is a prime number between 1 and 49 **/
if(x == 3 || x == 5 || x == 7 || x == 11 || x == 13 || x == 17 || x == 19 || x == 23 || x == 29 || x == 31 || x == 37 || x == 41 || x == 43 || x == 47)
{
document.getElementById("demo").innerHTML = "That's PRIME NUMBER. Choose Again!";
}
else
{
document.getElementById("demo").innerHTML = "";
}

}
</script>
</body>
</html>

这很好用,我将把它合并到我的主代码中。

谢谢!

最新更新