我正在做一些javascript作业,它说明如下:
- 验证客户ID是数字,而不是字符串。此外,所有客户ID都是3000到3999之间的数字。所有4位数字。验证所有客户ID是3000到3999之间的数字。
- 验证AcctNo是一个数字,而不是一个字符串。数字在90000到99999之间。
当我正在处理代码时,带有数字的部分总是给我错误,当我在网上寻求帮助时,它想出了//
任何帮助都很好,谢谢(:
XHTML
<head>
<script type = 'text/javascript'>
// <![CDATA[
$('#submit').click(function(){
validateRange();
validateRa();
})
function validateRange() {
var txtVal = document.getElementById("CustomerID").value;
var txtVal1=parseInt(txtVal);
if (txtVal1 >= 3000 && txtVal1 <= 3999) {
return true;
}
else
alert('Please enter a number between 3000-3999');
return false;
}
// ]]
function validateRa() {
var txtVal1 = document.getElementById("AcctNo").value;
var txtVal2=parseInt(txtVal1);
if (txtVal2 >= 90000 && txtVal2 <= 99999) {
return true;
}
else
alert('Please enter a number between 90000-99999');
return false;
}
// ]]
</script>
<title>Account Lookup</title>
</head>
<body>
<h1> Please Provide Your Information</h1>
<p><input type="text" id="AcctNo" value="Account Number"/></p>
<p><input type="text" id="CustomerID" value="CustomerID" onchange="validateRange()"/></p>
<p><input type="text" name="Type" value="Account Type" onchange="validateRange()"/></p>
<p><input type="text" name="balance" value="Balance"/></p>
<p class="submit" />
<input type="submit" name="commit" value="Submit" id="submit" /><button type="reset" value="Clear">Clear</button></p>
</body>
</html>
答案 0 :(得分:0)
在html中使用id代替名称
HTML
<h1> Please Provide Your Information</h1>
<p><input type="text" id="AcctNo" value="Account Number"/></p>
<p><input type="text" id="CustomerID" value="CustomerID" onchange="validateRange()"/></p>
<p><input type="text" name="Type" value="Account Type" onchange="validateRange()"/></p>
<p><input type="text" name="balance" value="Balance"/></p>
<p class="submit" />
<input type="submit" name="commit" value="Submit" id="submit" /><button type="reset" value="Clear">Clear</button></p>
是
$('#submit').click(function(){
validateRange();
validateRa();
})
function validateRange() {
var txtVal = document.getElementById("CustomerID").value;
var txtVal1=parseInt(txtVal);
if (txtVal1 >= 3000 && txtVal1 <= 3999) {
return true;
}
else
alert('Please enter a number between 3000-3999');
return false;
}
// ]]
function validateRa() {
var txtVal1 = document.getElementById("AcctNo").value;
var txtVal2=parseInt(txtVal1);
if (txtVal2 >= 90000 && txtVal2 <= 99999) {
return true;
}
else
alert('Please enter a number between 90000-99999');
return false;
}
答案 1 :(得分:0)
试试这个:
var txtVal = parseInt(document.getElementById("CustomerID").value) || 0;
和
var txtVal1 = parseInt(document.getElementById("AcctNo").value) || 0;
此外:
else {//<-- braces,since it has multiple lines
alert('Please enter a number between 3000-3999');
return false;
}
答案 2 :(得分:0)
你的其他情况有问题
你还需要在else块中包含大括号 所以你必须
else
{
alert('Please enter a number between 3000-3999');
return false;
}
和
else
{
alert('Please enter a number between 90000-99999');
return false;
}
另外
var newtxtval = parseInt(txtval);
在两个函数中添加上面的行,它将起作用
答案 3 :(得分:0)
您的name
文本框CustomerID
和AcctNo
不是文本框的id
。因此,当您使用document.getElementById
方法访问它们的验证函数将始终提供空引用时,因此每当您更改CustomerID
文本框的内容时,它都会给出java脚本错误。
您的代码中根本没有调用函数validateRa()
,用于验证帐号。