当前位置:编程学习 > JAVA >>

我在jsp中使用javascript判断输入的值是否为空时.但相关选项输入为空时,不弹出异常对话框(类似,“您的姓名不能为空”)

<%@ page language="java" pageEncoding="GB2312"%> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<!-- 在JSP中添加javascript代码,防止用户空提交 --> 
<script language="javascript"> 
function checkValidate() 

  //判断用户名是否为空 
  if(document.form1.textfield1.value==""||document.form1.textfield1.value==null) 
    { 
      window.alert("用户名不能为空!!!"); 
      return false; 
    } 
  //判断手机号是否为空 
  if(document.form1.textfield2.value==""||document.form1.textfield2.value==null) 
    { 
      window.alert("手机号不能为空!!!"); 
      return false; 
    } 
  //判断密码是否为空 
  if(document.form1.textfield3.value==""||document.form1.textfield3.value==null) 
    { 
      window.alert("密码不能为空!!!"); 
      return false; 
    }  

</script> 
<base href=" <%=basePath%>"> 
    
    <title>register.jsp页面 </title> 
<!-- 
<link rel="stylesheet" type="text/css" href="styles.css"> 
--> 
</head> 
  
<body bgcolor=cyan> 
<form id="form1" name="form1" method="post" action="RegisterValidate.jsp"> 
  <p> <img src="file:///D|/MyEclipseWorkPlace5.5/MyProject0/WebRoot/login pictures/register.jpg" width="203" height="137" /> </p> 
  <p> <strong> 用户名: 
      <input name="textfield1" type="text" /> 
  </strong> </p> 
  <p> <strong>手机号: </strong> 
    <input type="text" name="textfield2" /> 
  </p> 
  <p> <strong> 密 码: </strong> 
    <input type="password" name="textfield3" /> 
  </p> 
  <p> <strong>确认密码: </strong> 
    <input type="password" name="textfield4" /> 
  </p> 
  <p> 
    <input type="submit" name="Submit" value="免费注册" onclick="return checkValidate();"/> 
    <input type="reset" name="Reset" value="重置" /> 
  </p> 
</form> 
</body> 
</html>




哦上面的也不能用,提交了,但不能引发javascript脚本事件哦。急需,请哪位大哥帮忙,论文中!!!先谢谢,急需 --------------------编程问答-------------------- 提交前就开始判断了。

除了这个比较汗:
src="file:///D|/MyEclipseWorkPlace5.5/MyProject0/WebRoot/login pictures/register.jpg"

其他没发现问题。 --------------------编程问答-------------------- 我试了下,弹出框了啊!
你是不是禁用了 --------------------编程问答-------------------- 什么经用了啊? --------------------编程问答-------------------- 可以的啊 --------------------编程问答-------------------- 脚本啊 --------------------编程问答--------------------



除了这个比较汗: 
src="file:///D|/MyEclipseWorkPlace5.5/MyProject0/WebRoot/login pictures/register.jpg" 
这个没问题哦。
因为:
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
--------------------编程问答-------------------- 没有啊
   哦没经用哦。
      我用的时MyEclipse编译器。
           刚刚用一周哦。
               请详细说明哦。急需哦。 --------------------编程问答-------------------- 你是MyEclipse上的浏览器运行的吗?
我是把你的代码拷到Dreamweaver上,用ie6打开是可以的 --------------------编程问答-------------------- 不是脚本问题哦,哦开启来。 --------------------编程问答-------------------- 哦是在Myeclipse里面建的项目哦。+TAMCAT+IE运行的哦。其实,哦单独用下面的方法可以的哦.
1.MyResult.jsp文件

<!--得到数据并计算,还要显示-->
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<body>
<%
//接收到第一个数
String s_num1=request.getParameter("num1");
//接收到第二个数
String s_num2=request.getParameter("num2");
//接收到运算符
String flag=request.getParameter("flag");
int num1=0;
int num2=0;
int result=0;
//java中String->int
num1=Integer.parseInt(s_num1);
num2=Integer.parseInt(s_num2);

//计算
if(flag.equals("+"))
{
result=num1+num2;
}
else if(flag.equals("-"))
{
result=num1-num2;
}
else if(flag.equals("*"))
{
result=num1*num2;
}
else
{
result=num1/num2;
}
//向客户端输出数据
out.println("结果是:"+result);
%>
</body>
</html>
2.MyCal.jsp文件:

<%@ page contentType="text/html;charset=GB2312"%>
<html>
<h1>我的计算器
</h1>
<hr>
<!--在jsp种添加javascr代码,防止用户空提交-->
<script language="javascript">
<!--//写一个函数验证用户是不是空提交-->
function checkNum()
{
//判断num1是不是空的
if(form1.num1.value=="")
{
window.alert("num1,不能为空");
return false;
}
//判断num1,是不是一个数
if(Math.round(form1.num1.value)!=form1.num1.value)
{
window.alert("num1,不是一个数");
return false;
}
        /////////////////
        //判断num2是不是空的
if(form1.num2.value=="")
{
window.alert("num2,不能为空");
return false;
}
//判断num2,是不是一个数
if(Math.round(form1.num2.value)!=form1.num2.value)
{
window.alert("num2,不是一个数");
return false;
}
}
</script>
<head>
<body>
<form name="form1" method=get action="myResult.jsp">
请输入第一个数:<input type="text" name="num1"><br>
<select name="flag">
<option value=+>+</option>
<option value=->-</option>
<option value=*>*</option>
<option value=/>/</option>
</select><br>
请输入第二个数:<input type="text" name="num2"><br>
<input type="submit" value="计算" onclick="return checkNum();">
</form><br>
<hr>
</body>
</head>
</html> --------------------编程问答-------------------- 哪位大侠帮哦解决啊???哦还是没能解决哦——急需哦,都找了一哈午哦,都没解决哦—— --------------------编程问答-------------------- 我也试了一下,的确正常啊,是不是你的浏览器有点小问题啊?! --------------------编程问答-------------------- 呜呜,如果时浏览器的问题,那下面的这个就不能运行成功了(tamcat+文本编辑器):
1.MyResult.jsp文件 

<!--得到数据并计算,还要显示--> 
<%@ page contentType="text/html;charset=gb2312"%> 
<html> 
<body> 
<% 
//接收到第一个数 
String s_num1=request.getParameter("num1"); 
//接收到第二个数 
String s_num2=request.getParameter("num2"); 
//接收到运算符 
String flag=request.getParameter("flag"); 
int num1=0; 
int num2=0; 
int result=0; 
//java中String->int 
num1=Integer.parseInt(s_num1); 
num2=Integer.parseInt(s_num2); 

//计算 
if(flag.equals("+")) 

result=num1+num2; 

else if(flag.equals("-")) 

result=num1-num2; 

else if(flag.equals("*")) 

result=num1*num2; 

else 

result=num1/num2; 

//向客户端输出数据 
out.println("结果是:"+result); 
%> 
</body> 
</html> 
2.MyCal.jsp文件: 

<%@ page contentType="text/html;charset=GB2312"%> 
<html> 
<h1>我的计算器 
</h1> 
<hr> 
<!--在jsp种添加javascr代码,防止用户空提交--> 
<script language="javascript"> 
<!--//写一个函数验证用户是不是空提交--> 
function checkNum() 

//判断num1是不是空的 
if(form1.num1.value=="") 

window.alert("num1,不能为空"); 
return false; 

//判断num1,是不是一个数 
if(Math.round(form1.num1.value)!=form1.num1.value) 

window.alert("num1,不是一个数"); 
return false; 

        ///////////////// 
        //判断num2是不是空的 
if(form1.num2.value=="") 

window.alert("num2,不能为空"); 
return false; 

//判断num2,是不是一个数 
if(Math.round(form1.num2.value)!=form1.num2.value) 

window.alert("num2,不是一个数"); 
return false; 


</script> 
<head> 
<body> 
<form name="form1" method=get action="myResult.jsp"> 
请输入第一个数: <input type="text" name="num1"> <br> 
<select name="flag"> 
<option value=+>+ </option> 
<option value=->- </option> 
<option value=*>* </option> 
<option value=/>/ </option> 
</select> <br> 
请输入第二个数: <input type="text" name="num2"> <br> 
<input type="submit" value="计算" onclick="return checkNum();"> 
</form> <br> 
<hr> 
</body> 
</head> 
</html> --------------------编程问答-------------------- 代码是没有错误的!我试了一下也可以啊,你用的是什么浏览器? --------------------编程问答-------------------- 哦,IE也是60.的版本 --------------------编程问答-------------------- 你的代码没有问题啊,是不是你的IE设置禁止弹出对话框了? --------------------编程问答-------------------- 我用MyEclipse+tomcat就是不能触发脚本事件哦。ie是6.0的。 --------------------编程问答-------------------- 不是的哦。要不怎么能将上面的一个用文本编辑器的脚本实现咧。 --------------------编程问答-------------------- 代码没问题的。建议你升级到ie7或ie8试试看。 --------------------编程问答-------------------- 也许下面的这段代码可以加以说明哦上面的的问题,以便更明确让大家给哦出出主意哦。下面的代码可以执行数据库。正确输入验证码时,可以返回倒首页;输入错误时,却直接跳转倒错误页,却没执行脚本程序哦。

    编辑环境:MyEclipse5.5+tomcat5.5+ie6.0+sqlserver2000

<%@ page language="java" pageEncoding="GB2312"%>
<jsp:useBean id="Cla" class="test.DBBean" scope="page"/>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>wo shi registerValidate </title>
 <!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
  
<body>
<%
String UserName1=request.getParameter("textfield1");
String CellPhone1=request.getParameter("textfield2");
String Password1=request.getParameter("textfield3"); 
//String sqlStr="select * from RegisterTB where UserName='"+UserName1+"' and Password2='"+Password2+"' and CellPhone='"+CellPhone3+"'";
String sqlStr="insert into RegisterTB values('"+UserName1+"','"+CellPhone1+"','"+Password1+"','123','','','','')";
//SQLjdbcDBBean Cla=new SQLjdbcDBBean();
  boolean BL=false;
  BL=Cla.update(sqlStr);
  //Cla.close();
  out.print(UserName1);
  if(BL==true)
  {
   %>
   <script language="javascript">
   window.alert("恭喜你注册成功!!!");
   </script>
 <%
    response.sendRedirect("index.jsp");
  }
  else
  {
   response.sendRedirect("a1.jsp");
  }
  Cla.close();
 %>
</body>
</html>


在此谢谢大家对的关注哦   望大家能帮哦解决哦  先谢了哦 --------------------编程问答-------------------- 哦试了,不是IE的问题哦。重装了IE,但还是不行哦。 --------------------编程问答-------------------- 我也遇到了
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,