Jsp页面弹出输入对话框的实现收藏
在写JSP页面的时候,有时需要点击一个按钮弹出一个输入对话框,然后输入一个值,确定后关闭对话框,把数据写入数据库,刷新当前页面。这样的功能可以用JavaScript实现;不过如果用js自带的对话框的话,对话框不美观,不如用一个JSP页面来做对话框。
在页面AddName.jsp里要调用对话框,写一个JSP页面NewBox.jsp(用做对话框),然后在页面AddName.jsp里加上一段js代码:
/*用来打开对话框页面*/
function openwindow(){
window.open ('NewBox.jsp','Sample','fullscreen=3,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no, copyhistory=no,width=350,height=140,left=200,top=300');
}
/*在NewBox.jsp里调用这个函数,用来刷新AddName.jsp*/
function opensub(){
document.form1.submit();
}
在这里要对window.open里的参数做一下说明:
fullscreen=3 全屏,这样就可以不显示页面的关闭按钮了
toolbar=no, 显示工具条
location=no,显示网址栏
directories=no,导航条
status=no,状态条
menubar=no,菜单
scrollbars=no,滚动条
resizable=no,是否可以改变大小
copyhistory=no,历史按钮
width=350,宽
height=140'高
left=200,距离左边200
top=300,距离顶端300
这时要在NewBox.jsp里加上一部分js代码,下面是NewBox.jsp的代码
<%@ page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%>
<%@ page import="com.abmtech.abmsystem.ABMSystemInfo"%>
<html>
<head >
<title background-color=#66CD00>新建邮件夹输入框</title>
<SCRIPT>
<!--
function bconfirm(){
opener.document.all['inboxname'].value=document.form1.inboxname.value;
opener.opensub();
window.close();
}
function bcancel(){
window.close();
}
-->
</SCRIPT>
</head>
<body bgcolor=#66CD00>
<FONT size=5>请输入新邮件夹的名称:</FONT>
<FORM method=post name=form1 action="">
<INPUT type=text name=inboxname size=35><p>
<INPUT type=button name=inputboxbt value=确定 οnclick="bconfirm();">
<INPUT type=button name=inputboxbs value=取消 οnclick="bcancel();">
</FORM>
</body>
</html>
在NewBox.jsp里先给AddName.jsp里的一个隐藏表单inboxname赋值,就是这句:
opener.document.all['inboxname'].value=document.form1.inboxname.value;
然后调用AddName.jsp里的一个js函数:opener.opensub();
这样AddName.jsp就会自动提交表单到Servlet接着刷新页面,这样就完成了!
在写JSP页面的时候,有时需要点击一个按钮弹出一个输入对话框,然后输入一个值,确定后关闭对话框,把数据写入数据库,刷新当前页面。这样的功能可以用JavaScript实现;不过如果用js自带的对话框的话,对话框不美观,不如用一个JSP页面来做对话框。
在页面AddName.jsp里要调用对话框,写一个JSP页面NewBox.jsp(用做对话框),然后在页面AddName.jsp里加上一段js代码:
/*用来打开对话框页面*/
function openwindow(){
window.open ('NewBox.jsp','Sample','fullscreen=3,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no, copyhistory=no,width=350,height=140,left=200,top=300');
}
/*在NewBox.jsp里调用这个函数,用来刷新AddName.jsp*/
function opensub(){
document.form1.submit();
}
在这里要对window.open里的参数做一下说明:
fullscreen=3 全屏,这样就可以不显示页面的关闭按钮了
toolbar=no, 显示工具条
location=no,显示网址栏
directories=no,导航条
status=no,状态条
menubar=no,菜单
scrollbars=no,滚动条
resizable=no,是否可以改变大小
copyhistory=no,历史按钮
width=350,宽
height=140'高
left=200,距离左边200
top=300,距离顶端300
这时要在NewBox.jsp里加上一部分js代码,下面是NewBox.jsp的代码
<%@ page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%>
<%@ page import="com.abmtech.abmsystem.ABMSystemInfo"%>
<html>
<head >
<title background-color=#66CD00>新建邮件夹输入框</title>
<SCRIPT>
<!--
function bconfirm(){
opener.document.all['inboxname'].value=document.form1.inboxname.value;
opener.opensub();
window.close();
}
function bcancel(){
window.close();
}
-->
</SCRIPT>
</head>
<body bgcolor=#66CD00>
<FONT size=5>请输入新邮件夹的名称:</FONT>
<FORM method=post name=form1 action="">
<INPUT type=text name=inboxname size=35><p>
<INPUT type=button name=inputboxbt value=确定 οnclick="bconfirm();">
<INPUT type=button name=inputboxbs value=取消 οnclick="bcancel();">
</FORM>
</body>
</html>
在NewBox.jsp里先给AddName.jsp里的一个隐藏表单inboxname赋值,就是这句:
opener.document.all['inboxname'].value=document.form1.inboxname.value;
然后调用AddName.jsp里的一个js函数:opener.opensub();
这样AddName.jsp就会自动提交表单到Servlet接着刷新页面,这样就完成了!