gpt4 book ai didi

JavaScript 发生变化以匹配模式

转载 作者:行者123 更新时间:2023-12-03 11:29:49 25 4
gpt4 key购买 nike

我有以下代码。

<!doctype html>
<html>
<head>
<style type="text/css">
#error
{
color: red;
}
</style>
<script type='text/javascript'>

function showpay() {
if ((document.calc.loan.value == null || document.calc.loan.value.length == 0) ||
(document.calc.months.value == null || document.calc.months.value.length == 0) ||
(document.calc.rate.value == null || document.calc.rate.value.length == 0)) {
document.calc.pay.value = "Incomplete data";
}
else {
var princ = document.calc.loan.value;
var term = document.calc.months.value;
var intr = document.calc.rate.value / 1200;
document.calc.pay.value = princ * intr / (1 - (Math.pow(1 / (1 + intr), term)));
}
}

function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))
{
document.getElementById('error').style.display = 'inline';
document.getElementById('error').style.color = 'red';
document.getElementById('error').innerHTML = 'OOPs! Only digits allowed.';

} else {
document.getElementById('error').style.display = 'none';
return true;
}
}
</script>
</head>
<body>
<form name="calc">
<p>
<center>
<table width="200" border="1">
<tbody>
<tr>
<th scope="col">Description</th>
<th scope="col">Data Entry</th>
</tr>
<tr>
<td>Principle</td>
<td><input type="text" name="loan" id="loan" onkeypress="return isNumberKey(event)">
</td><span id="error"/>
</tr>
<tr>
<td>Interest</td>
<td><input type="text" name="rate" id="rate" onkeypress="return isNumberKey(event)">
</td><span id="error"/>
</tr>
<tr>
<td>Tenure</td>
<td>
<input type="text" name="months" id="months" onkeypress="return isNumberKey(event)">
</td><span id="error"/>
</tr>
<tr>
<td>EMI</td>
<td>
<input name="textfield4" type="text" id="pay" readonly></td>
</tr>
<tr>
<td><input type="button" value="Submit" onClick='showpay()'/></td>
<td><input type=reset value=Reset></td>
</tr>
</tbody>
</table>

<font size=1>Enter only numeric values (no commas), using decimal points
where needed.<br>
Non-numeric values will cause errors.</font>
</center>
</p>
</form>
</body>
</html>

这里我面临两个问题,

  1. 我遇到的错误不会自动消失。
  2. 文本框接受字母,其中我只需要数字和小数作为输入。它还接受其他特殊字符,仅应接受 .
  3. 我想限制文本框仅接受数字和 .(十进制数字)。

请让我知道如何实现这些。

谢谢

最佳答案

这将修复keypress的检查,但您需要更改项目的id,这样您就不会出现多个错误ids.这是无效的 HTML,这可能就是它无法按您预期工作的原因。

function isNumberKey(e) {
var charCode = (e.which ? e.which : e.keyCode),
valid;

switch(charCode){
case 96:
case 97:
case 98:
case 99:
case 100:
case 101:
case 102:
case 103:
case 104:
case 105:
case 190:
valid = true;
break;
default:
valid = false;
break;
}

if(valid){
// remove the error
} else {
// add the error
}

return valid;
}

这至少会限制您想要接受的字符,因为它会创建一个包含数字 (0-9) 字符和句点字符的包含列表。

关于JavaScript 发生变化以匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26782879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com