我正在寻找一些建议!
我正在制作一个简单的程序来计算给定用户输入的平方根。我已经成功完成了这一部分。
我想通过限制用户输入来扩展我的学习。我希望输入只有10位数,否则它会要求“再试一次”。
我设法通过将maxlength设置为10来限制它,但我不知道如何将它作为我的minlength?
这是我的代码,您可以在我的评论中看到我在搞乱的内容。
function doMath(){
var inputNum1 = document.form1.input1.value;
var result = Math.sqrt(inputNum1);
//if (inputNum1!\d{10}) {
// "Enter a ten digit number";
document.form1.answer.value = result;
//}
}
<form name=form1>
Enter a ten-digit number:
<input type="text" name="input1" size=16 maxlength=10><br><br>
<input type="button" value="Calculate" onClick='doMath()'>
<br><br>
The square root is:
<input type="text" name="answer" size=22>
</form>
另一个细节,我刷新屏幕后如何阻止文本留在框中?这是第一次发生。
再次感谢你们。
答案 0 :(得分:0)
为什么不将inputNum1视为字符串? 使用inputNum.toString()。length来解决这个问题。
BESIDES,尝试使用autocomplete =&#34; off&#34;在你的&lt;输入&gt;。
答案 1 :(得分:0)
我不知道为什么我被贬低,也许对于经验丰富的成员来说似乎微不足道,但我们都必须从某个地方开始。
经过一些修修补补后,我找到了一个有效的解决方案。它很可能不像其他人想出的那样优雅,但我会发布一些代码来展示我是如何让它发挥作用的。
<script type="text/javascript">
function doMath(){
var inputNum1 = document.form1.input1.value;
var result = Math.sqrt(inputNum1);
if(inputNum1.length == 10){
document.form1.answer.value = result;
}
else {
alert("Enter a ten digit number");
}
}
function clear_field(field) {
if (field.value==field.defaultValue) {
field.value=''
}
}
</script>
如您所见,我还添加了清除数据的方法
</head>
<body>
<form name=form1>
Enter a ten-digit number:
<input type = "text" name = "input1" size = 12><br><br>
<input type = "button" value = "Calculate" onClick = 'doMath()'>
<br><br>
The square root is:
<input type = "text" name = "answer" size = 20>
<br><br>
<input type = "reset" value = "Clear" onClick = 'clear_field(field)'>
</form>
</body>
</html>
希望这会帮助其他有类似问题的人。再次感谢那些提供帮助的人。