我在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 开发