求助代码:填写表单时,提交旁边有一个按钮,点击就可以在下面显示另外一些文本框(急,在线等)

zerodawn77 2002-07-20 10:55:34
求助代码:填写表单时,提交旁边有一个按钮(显示),点击就可以在下面显示另外一些文本框,填写后一起提交;如果点击另外一个按扭(隐藏),就不显示,提交时也不起作用
...全文
160 点赞 收藏 23
写回复
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
chocolateboy 2002-07-20
怎么给分啊?我刚成会员,别客气!干!
回复
zerodawn77 2002-07-20
原来不可以中途给分的啊,必须结贴
回复
zerodawn77 2002-07-20
接住拉
回复
zerodawn77 2002-07-20
好吧,我估计用判断语句能实现,谢谢你了。先送你一壶酒喝
回复
chocolateboy 2002-07-20
用VBS实现了,但你不想在服务器端运行。JS我不太会的。ASP中加入一个判断语句即可实现了。其实蛮简单的你想一下吧。
回复
zerodawn77 2002-07-20
还是不行
那怎么来判断什么时候取,什么时候不取呢
回复
hwstu 2002-07-20
呵呵我刚好写了这样一个东西,你去看看
先说表结构表名
SystemMenuGroup

SystemMenuGroupID(长整) SystemMenuGroupName(文本) SortSystemMenuGroup(长整) IsSystemMenuGroupChange(长整) IsSystemMenuGroupHide(长整)

连接文件自己写,如果是按纽原理也是一样
conn.asp的代码自己写

<!--#include file="conn.asp"-->
<%
if request.form("send")<>empty then
call ModifySystemMenuGroup()
end if
%>

<SCRIPT LANGUAGE="JavaScript">
<!--
function CheckModify()
{
document.SelectSystemMenuGroup.submit()
}
-->
</script>

<title>修改一级菜单</title>
<body>
<style type="text/css">
@import url("globalstyle.css");
</style>


<table border="1" cellpadding="0" cellspacing="2" align=center>
<tr>
<td width="100%" align="center" valign="middle" height=20 bgcolor="#8899ff">
修 改 一 级 菜 单
</td>
</tr>
</table>
<%
ModifyID=Request("Modify")
ModifyID=Cint(ModifyID)
set rs1=server.createobject("adodb.recordset")
SQL1="select * from SystemMenuGroup Where IsSystemMenuGroupChange=1 Order By SortSystemMenuGroup"
rs1.open sql1,conn,1,1
%>

<br>
<form method="post" action="ModifySystemMenuGroup.asp" name="SelectSystemMenuGroup" >
<table border="0" cellspacing="1" align="center">
<%
Do While Not rs1.Eof
SystemMenuGroupName=rs1("SystemMenuGroupName")
SystemMenuGroupID=rs1("SystemMenuGroupID")
IsSystemMenuGroupHide=rs1("IsSystemMenuGroupHide")


%>

<tr>
<td bgcolor=#88ddff >
<input type="radio" name="Modify" value="<%=SystemMenuGroupID%>" <%if SystemMenuGroupID=ModifyID then response.write"checked" end if %> onclick="CheckModify()">
<%
if SystemMenuGroupID=ModifyID then
response.write "<font color=red > "&SystemMenuGroupName&"</font>"
else
response.write SystemMenuGroupName
end if
%>
</td>
<td bgcolor=#88ddff >
<%
if IsSystemMenuGroupHide=1 then
response.write "隐藏"
else
response.write "不隐藏"
end if
%>
</td>
</tr>
<%
rs1.MoveNext
Loop
%>
</table>

<%
if ModifyID >0 then
ShowEditForm ModifyID
else
ShowEditDefaultForm
End if
%>

</form>
<%
Sub ShowEditForm(ModifyID)
set rs5=server.CreateObject("ADODB.RecordSet")
Sql="select * from SystemMenuGroup where SystemMenuGroupID="&ModifyID&""
'response.write sql
rs5.Open Sql,conn,1,1
UpdateSystemMenuGroupID=rs5("SystemMenuGroupID")
IsSystemMenuGroupHide=rs5("IsSystemMenuGroupHide")
%>
<form method="post" action="ModifySystemMenuGroup.asp" name="ModifySystemMenuGroup" onsubmit="return comfirmit()">
<table align="center">
<tr>
<td>
<center>

你现在选择的是第<%response.write UpdateSystemMenuGroupID%>记录 名称:
<input type="hidden" name="UpdateSystemMenuGroupID" value="<%response.write UpdateSystemMenuGroupID%>">
<input type=text name="SystemMenuGroupName" size=15 maxlength=8 onKeypress="if (event.keyCode==34 || event.keyCode==39|| event.keyCode==47|| event.keyCode==92) event.returnValue = false;" value="<%=rs5("SystemMenuGroupName")%>" >
<input type="radio" <%if IsSystemMenuGroupHide=1 then response.write "Checked" end if %> name="IsSystemMenuGroupHide" value="1">隐藏
<input type="radio" <%if IsSystemMenuGroupHide=0 then response.write "Checked" end if %> name="IsSystemMenuGroupHide" value="0">不隐藏
<input type="submit" name="send" value="修改" class="button"></center>
</td>
</tr>
<br>
</table>
</form>
<%
rs5.close
set rs5=nothing
end Sub
%>

<%
Sub ShowEditDefaultForm

%>
<form method="post" action="ModifySystemMenuGroup.asp" name="ModifySystemMenuGroup" onsubmit="return comfirmit()">
<table align="center">
<tr>
<td>
<center>名称:<input type=text name="SystemMenuGroupName" size=15 maxlength=8 onKeypress="if (event.keyCode==34 || event.keyCode==39|| event.keyCode==47|| event.keyCode==92) event.returnValue = false;" value="">
<input type="radio" name="IsSystemMenuGroupHide" value="1">隐藏
<input type="radio" checked name="IsSystemMenuGroupHide" value="0">不隐藏
<input type="submit" name="send" value="修改" ></center>
</td>
</tr>
<br>
</table>
</form>
<%

end Sub
%>
</body>

<%
'*****************************************************************
'目的:    修改一个一级菜单
'输入参数:  表单传入的参数SystemMenuGroupID,SystemMenuGroupName IsSystemMenuGroupHide 的值
'输出参数: 无
'*****************************************************************
function ModifySystemMenuGroup()
dim SQL
dim SystemMenuGroupID '菜单组ID
dim SystemMenuGroupName '将要修改的一级菜单的名称
SystemMenuGroupID=request.form("UpdateSystemMenuGroupID")
IsSystemMenuGroupHide=request.form("IsSystemMenuGroupHide")
'从表单获取一级菜单名称,去除空格、编码
SystemMenuGroupName=trim(request.form("SystemMenuGroupName"))
SystemMenuGroupName=server.htmlencode(SystemMenuGroupName)
set rs1=server.createobject("adodb.recordset")
sql="select * from SystemMenuGroup" 'Where SystemMenuGroupID=" & SystemMenuGroupID
rs1.open sql,conn,3,1
if rs1.Eof then
response.write "<font color=red><center>请先添加一个一级菜单吧!</center></font>"
elseif SystemMenuGroupName="" then
response.write "<font color=red><center>请输入新的菜单名称!</center></font>"
'response.redirect "ModifySystemMenuGroup.asp"
elseif SystemMenuGroupID="" then
response.write "<font color=red><center>请选择一个菜单!</center></font>"
'response.redirect "modifysmallclass.asp"
else
'向表SystemMenuGroup添加一条记录
set rs1=server.createobject("adodb.recordset")
sql="update SystemMenuGroup set SystemMenuGroupName='" & SystemMenuGroupName & "' Where SystemMenuGroupID=" & SystemMenuGroupID
rs1.open sql,conn,3,2
sql="update SystemMenuGroup set IsSystemMenuGroupHide=" & IsSystemMenuGroupHide & " Where SystemMenuGroupID=" & SystemMenuGroupID
rs1.open sql,conn,3,2
end if
response.write "<script>top.contents.location.reload()</script>"
end function
rs1.close()
conn.close()
set rs1=nothing
set con=nothing
%>
<script language=javascript>
function comfirmit()
{
var form=document.ModifySystemMenuGroup;
if(form.SystemMenuGroupName.value=="")
{
alert("请输入菜单名称。");
form.SystemMenuGroupName.focus();
return false;
}
if(form.SystemMenuGroupName.value.indexOf("'")!=-1||form.SystemMenuGroupName.value.indexOf("\"")!=-1||form.SystemMenuGroupName.value.indexOf("\\")!=-1||form.SystemMenuGroupName.value.indexOf("\/")!=-1)
{
alert("请去掉\',\\,\/或者\"。");
form.SystemMenuGroupName.focus();
return false;
}
}
</script>


回复
chocolateboy 2002-07-20
<div id="menu" style="position:absolute; left:176px; top:120px; width:74px; height:1px; z-index:1000; visibility: hidden">
...
改成这样就行了

不显示的时候层里面的文本框等没有数据,我们不用request语句取就行了啊!
回复
zerodawn77 2002-07-20
鼠标一离开到文本框怎么就没了?
还有就是不显示的时候不提交,显示的时候能一起提交吗
回复
chocolateboy 2002-07-20
<html>
<head>
<title>New Page 1</title>
<script language="JavaScript">
<!--
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->

function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; }
}
//-->
</script>
</head>
<body>
<form method="POST" action="default.asp">
<input type="button" onClick="MM_showHideLayers('menu','','show')">
<div id="menu" style="position:absolute; left:176px; top:120px; width:74px; height:1px; z-index:1000; visibility: hidden" onMouseOut="MM_showHideLayers('menu','','hide')" onMouseOver="MM_showHideLayers('menu','','show')">
<input type="text" size=8>
</div>
</form>
</body>
</html>
这下没问题了,你自己研究一下吧...
回复
zerodawn77 2002-07-20
就是你给我的代码
<html>
<head>
<title>New Page 1</title>
</head>
<body>
<form method="POST" action="default.asp">
<input type="button" onClick="MM_showHideLayers('menu','','show')">
<div id="menu" style="position:absolute; left:176px; top:120px; width:74px; height:1px; z-index:1000; visibility: hidden" onMouseOut="MM_showHideLayers('menu','','hide')" onMouseOver="MM_showHideLayers('menu','','show')">
<input type="text" size=8>
</div>
</form>
</body>
</html>
回复
chocolateboy 2002-07-20
你把代码帖上来好吗?
回复
zerodawn77 2002-07-20
还是不行,没反映,左下角提示网页有错误
回复
chocolateboy 2002-07-20
<form action="提交的页面路径" method="提交方式">//action=""这样就不会跳转到其它的页面了

另外你可以把上面的代码第一行改一下:
<input type="button" ...>
回复
zerodawn77 2002-07-20
怎么点击按扭就转到另外一个页面了
回复
chocolateboy 2002-07-20
<input type="submit" onClick="MM_showHideLayers('menu','','show')">
<div id="menu" style="position:absolute; left:176px; top:120px; width:74px; height:1px; z-index:1000; visibility: hidden" onMouseOut="MM_showHideLayers('menu','','hide')" onMouseOver="MM_showHideLayers('menu','','show')">
<input type="text" size=8>
...
</div>
回复
zerodawn77 2002-07-20
我觉得还是在client的好,最好不用刷新页面,能否给段代码,我怎的没有作过的
回复
chocolateboy 2002-07-20
对啊~可以在一个页面实现也可以分页实现。视情况而定了!
其实还有很多方法啦,加入层也不失为一种方法,但跟ASP没关系。
回复
lanying 2002-07-20
是的
jiank(一钱不值) 说的是client的实现方法
chocolateboy(小艺) 说的是server的实现方法
他们都是对的
回复
zerodawn77 2002-07-20
那这个是不是要在一个整个大表单里实现
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告