JS问题,不知道是什么原因,没有验证就跳转
代码如下:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xh...
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>计算器</title>
</head>
<style type="text/css">
#DivCalculate{
border:1px #666666 solid;
margin-left:auto;
margin-right:auto;
width:500px;
height:300px;
padding:10px;
}
body{
text-align:center;
}
td{
font-size:14px;
color:#999999;
height:30px;
}
.STYLE1 {
font-family: "新宋体";
font-weight: bold;
font-size: 24px;
color: #0000FF;
}
.Mytext{
width:150px;
border:1px #333333 solid;
height:22px;
}
</style>
<script type="text/javascript" language="javascript">
function checkedRightful(){
//接收计算器各项的值
var firstNum = document.MyForm.FirstNum.value;
var secondNum = document.MyForm.SecondNum.value;
var operator = document.getElementsByName(Operator);
alert(operator[0].value);
//验证非空输入
if(document.MyForm.FirstNum.value == ""){ //判断第一个数是否为空
window.alert("第一个数不能为空!");
//document.MyForm.FirstNum.focus();
return false;
}
if(document.MyForm.SecondNum.value == ""){ //判断第二个数是否为空
window.alert("第二个数不能为空!");
//document.MyForm.secondNum.focus();
return false;
}
//除数不能为零
if(document.MyForm.SecondNum.value == 0 && operator[3].checked == true){
window.alert("您选择的是除法,除数不能为零!");
//document.MyForm.secondNum.focus();
return false;
}
//验证输入内容是否合法
}
</script>
<body>
<br/>
<br/>
<br/>
<form name="MyForm" onSubmit="return checkedRightful();" action="/restrant/doCalculateServlet" method="get">
<div id="DivCalculate">
<div align="center" class="STYLE1">
计 算 器
</div>
<table width="80%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td colspan="2" align="left">请输入两个数:</td>
</tr>
<tr>
<td width="36%" align="right">第一个数:</td>
<td width="64%">
<input type="text" name="FirstNum" class="Mytext"/>
</td>
</tr>
<tr>
<td align="right">第二个数:</td>
<td>
<input type="text" name="SecondNum" class="Mytext"//>
</td>
</tr>
<tr>
<td colspan="2" align="center">运算符:
<input type="radio" name="Operator" value="+" checked/>加
<input type="radio" name="Operator" value="-"/>减
<input type="radio" name="Operator" value="*"/>乘
<input type="radio" name="Operator" value="/"/>除
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="提 交"/>
<input type="reset" value="重 置"/>
</td>
</tr>
</table>
</div>
</form>
</body>
</html> 展开
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>计算器</title>
</head>
<style type="text/css">
#DivCalculate{
border:1px #666666 solid;
margin-left:auto;
margin-right:auto;
width:500px;
height:300px;
padding:10px;
}
body{
text-align:center;
}
td{
font-size:14px;
color:#999999;
height:30px;
}
.STYLE1 {
font-family: "新宋体";
font-weight: bold;
font-size: 24px;
color: #0000FF;
}
.Mytext{
width:150px;
border:1px #333333 solid;
height:22px;
}
</style>
<script type="text/javascript" language="javascript">
function checkedRightful(){
//接收计算器各项的值
var firstNum = document.MyForm.FirstNum.value;
var secondNum = document.MyForm.SecondNum.value;
var operator = document.getElementsByName(Operator);
alert(operator[0].value);
//验证非空输入
if(document.MyForm.FirstNum.value == ""){ //判断第一个数是否为空
window.alert("第一个数不能为空!");
//document.MyForm.FirstNum.focus();
return false;
}
if(document.MyForm.SecondNum.value == ""){ //判断第二个数是否为空
window.alert("第二个数不能为空!");
//document.MyForm.secondNum.focus();
return false;
}
//除数不能为零
if(document.MyForm.SecondNum.value == 0 && operator[3].checked == true){
window.alert("您选择的是除法,除数不能为零!");
//document.MyForm.secondNum.focus();
return false;
}
//验证输入内容是否合法
}
</script>
<body>
<br/>
<br/>
<br/>
<form name="MyForm" onSubmit="return checkedRightful();" action="/restrant/doCalculateServlet" method="get">
<div id="DivCalculate">
<div align="center" class="STYLE1">
计 算 器
</div>
<table width="80%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td colspan="2" align="left">请输入两个数:</td>
</tr>
<tr>
<td width="36%" align="right">第一个数:</td>
<td width="64%">
<input type="text" name="FirstNum" class="Mytext"/>
</td>
</tr>
<tr>
<td align="right">第二个数:</td>
<td>
<input type="text" name="SecondNum" class="Mytext"//>
</td>
</tr>
<tr>
<td colspan="2" align="center">运算符:
<input type="radio" name="Operator" value="+" checked/>加
<input type="radio" name="Operator" value="-"/>减
<input type="radio" name="Operator" value="*"/>乘
<input type="radio" name="Operator" value="/"/>除
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="提 交"/>
<input type="reset" value="重 置"/>
</td>
</tr>
</table>
</div>
</form>
</body>
</html> 展开
展开全部
//修改后的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>计算器</title>
</head>
<style type="text/css">
#DivCalculate{
border:1px #666666 solid;
margin-left:auto;
margin-right:auto;
width:500px;
height:300px;
padding:10px;
}
body{
text-align:center;
}
td{
font-size:14px;
color:#999999;
height:30px;
}
.STYLE1 {
font-family: "新宋体";
font-weight: bold;
font-size: 24px;
color: #0000FF;
}
.Mytext{
width:150px;
border:1px #333333 solid;
height:22px;
}
</style>
<script type="text/javascript" language="javascript">
function checkedRightful(){
//验证非空输入
if(document.MyForm.FirstNum.value == ""){ //判断第一个数是否为空
window.alert("第一个数不能为空!");
//document.MyForm.FirstNum.focus();
return false;
}
if(document.MyForm.SecondNum.value == ""){ //判断第二个数是否为空
window.alert("第二个数不能为空!");
//document.MyForm.secondNum.focus();
return false;
}
//除数不能为零
if(document.MyForm.SecondNum.value == 0 && operator[3].checked == true){
window.alert("您选择的是除法,除数不能为零!");
//document.MyForm.secondNum.focus();
return false;
}
//验证输入内容是否合法
}
</script>
<body>
<br/>
<br/>
<br/>
<form name="MyForm" onSubmit="return checkedRightful();" action="/restrant/doCalculateServlet" method="get">
<div id="DivCalculate">
<div align="center" class="STYLE1">
计 算 器
</div>
<table width="80%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td colspan="2" align="left">请输入两个数:</td>
</tr>
<tr>
<td width="36%" align="right">第一个数:</td>
<td width="64%">
<input type="text" name="FirstNum" class="Mytext"/>
</td>
</tr>
<tr>
<td align="right">第二个数:</td>
<td>
<input type="text" name="SecondNum" class="Mytext"//>
</td>
</tr>
<tr>
<td colspan="2" align="center">运算符:
<input type="radio" name="Operator" value="+" checked/>加
<input type="radio" name="Operator" value="-"/>减
<input type="radio" name="Operator" value="*"/>乘
<input type="radio" name="Operator" value="/"/>除
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="提 交"/>
<input type="reset" value="重 置"/>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>计算器</title>
</head>
<style type="text/css">
#DivCalculate{
border:1px #666666 solid;
margin-left:auto;
margin-right:auto;
width:500px;
height:300px;
padding:10px;
}
body{
text-align:center;
}
td{
font-size:14px;
color:#999999;
height:30px;
}
.STYLE1 {
font-family: "新宋体";
font-weight: bold;
font-size: 24px;
color: #0000FF;
}
.Mytext{
width:150px;
border:1px #333333 solid;
height:22px;
}
</style>
<script type="text/javascript" language="javascript">
function checkedRightful(){
//验证非空输入
if(document.MyForm.FirstNum.value == ""){ //判断第一个数是否为空
window.alert("第一个数不能为空!");
//document.MyForm.FirstNum.focus();
return false;
}
if(document.MyForm.SecondNum.value == ""){ //判断第二个数是否为空
window.alert("第二个数不能为空!");
//document.MyForm.secondNum.focus();
return false;
}
//除数不能为零
if(document.MyForm.SecondNum.value == 0 && operator[3].checked == true){
window.alert("您选择的是除法,除数不能为零!");
//document.MyForm.secondNum.focus();
return false;
}
//验证输入内容是否合法
}
</script>
<body>
<br/>
<br/>
<br/>
<form name="MyForm" onSubmit="return checkedRightful();" action="/restrant/doCalculateServlet" method="get">
<div id="DivCalculate">
<div align="center" class="STYLE1">
计 算 器
</div>
<table width="80%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td colspan="2" align="left">请输入两个数:</td>
</tr>
<tr>
<td width="36%" align="right">第一个数:</td>
<td width="64%">
<input type="text" name="FirstNum" class="Mytext"/>
</td>
</tr>
<tr>
<td align="right">第二个数:</td>
<td>
<input type="text" name="SecondNum" class="Mytext"//>
</td>
</tr>
<tr>
<td colspan="2" align="center">运算符:
<input type="radio" name="Operator" value="+" checked/>加
<input type="radio" name="Operator" value="-"/>减
<input type="radio" name="Operator" value="*"/>乘
<input type="radio" name="Operator" value="/"/>除
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="提 交"/>
<input type="reset" value="重 置"/>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
参考资料: phptogether.com
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这里有问题:
var operator = document.getElementsByName(Operator);
根据元素名称取得元素集合,这里的名称应该是指定的,而不是变量,是变量的话就应该给它赋值。所以应该给Operator加上双引号。额,或者单引号也成。楼上的说什么没有调用,根本没仔细去看代码。
var operator = document.getElementsByName(Operator);
根据元素名称取得元素集合,这里的名称应该是指定的,而不是变量,是变量的话就应该给它赋值。所以应该给Operator加上双引号。额,或者单引号也成。楼上的说什么没有调用,根本没仔细去看代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然要验证,那就不能用submit,换成button,然后在form的onsubmit事件里验证,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你没调用方法怎么检测呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询