<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ page import="com.bean.Triangle" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'triangle.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function checkbiana(){
var sidea  = myform.sideA.value;
var reg = /^\d+$/
if(reg.test(sidea)))
{
document.getElementById("a").innerHTML="输入的数据合法";
return true;
}
else{

document.getElementById("a").innerHTML="输入的数据不合法";
document.getElementById("a").style.color="red";
return false;
}
}

function checkbianb(){
var sideb = myform.sideB.value;
var reg = /^\d+$/
if(reg.test(sideb)))
{
document.getElementById("b").innerHTML="输入的数据合法";
return true;
}
else{

document.getElementById("b").innerHTML="输入的数据不合法";
document.getElementById("b").style.color="red";
return false;
}
}

function checkbianc(){
var sidec = myform.sideC.value;
var reg = /^\d+$/
if(reg.test(sidec)))
{
document.getElementById("c").innerHTML="输入的数据合法";
return true;
}
else{
document.getElementById("c").innerHTML="输入的数据不合法";
document.getElementById("c").style.color="red";
return false;
}
} function cleck(){

if(checkbiana()&&checkbianb()&&checkbianc())
{
return true;
}
else{
alert("输入数据错误请重新输入");
return false;
}
}</script>
  </head>
  
  <body>
    <form action="" name="myform" method="post" onsubmit="return cleck();"> 
    输入三角形的边A:<input type="text" name="sideA"/><span id="a">请输入数字</span><br/>
   
    输入三角形的边B:<input type="text" name="sideB" onfocus="checkbiana()"/><span id="b">请输入数字</span><br/>
    输入三角形的边C:<input type="text" name="sideC" onfocus="checkbianb();" /><span id="c">请输入数字</span><br/>
    <input type="submit" value="提交" />
    </form>
    <jsp:useBean id="triangle" class="com.bean.Triangle"></jsp:useBean>
    <jsp:setProperty property="*" name="triangle"/>
    边A的长度是<jsp:getProperty property="sideA" name="triangle"/><br/>
    边B的长度是<jsp:getProperty property="sideB" name="triangle"/><br/>
    边C的长度是<jsp:getProperty property="sideC" name="triangle"/><br/>
    能构成三角形么?<jsp:getProperty property="triangle" name="triangle"/><br/>
    三角形的面积:<jsp:getProperty property="area" name="triangle"/>
   
  </body>
</html>

解决方案 »

  1.   

    我看到了两处有可能会导致错误的地方,楼主可以修改下试试。
    第一处:var sidea = myform.sideA.value;//此处你直接使用myform,但是我没看见你有定义这个myform变量啊?所以推荐你在所有方法的最上方增加一句 var myform = document.myform;
    第二处:var reg = /^\d+$/
    第一个就是这个不用用引号引住吗?这样写应该不对吧?"/^\d+$/"这样写才对吧?还有一个就是你为什么不给他后面加分号呢? var reg = "/^\d+$/";
      

  2.   

    先alert一下,看能否取到值。
      

  3.   

    ,不能,在我改变焦点的时候,checkbiana()方法就不执行,
      

  4.   

    alert取不到值,说明你就没有获得输入框的id,怎么能拿到焦点。
      

  5.   

    if(reg.test(sidec)))改为if(reg.test(sidec))每一个都多了 半个 括号