ASP小问题 (3分)

  • 主题发起人 主题发起人 yjwnnit
  • 开始时间 开始时间
Y

yjwnnit

Unregistered / Unconfirmed
GUEST, unregistred user!
问题是, 我有一个输入用户资料的页面, 当用户输入完成按提交, 我会判别输入的内容是否合法。 如果不合法,就要求其重输。
我使用如下程序:
<%
if request.form("email"))=“” then
response.write "你没输入的Email地址!"
response.write "<a href='../webs/PASP.asp'>返回</a>"
response.end
end if
%>
但是当其选择返回重新输入时,原来输入过的内容不见了!!!!
请问如何解决该问题?
或者当其输入不合法时,能出一个小的窗口提示一下,然后再输入!
请 问如何实现?
 
你没有使用COOKIE所以这样!使用连接,将不会把客户存储的内容。
所以你把“
response.write "<a href='../webs/PASP.asp'>返回</a>"”
用JAVASCRIPT来写
怎么写呢?
好象是JAVASCRIPT的历史返回就可以了。
response.write "<javasciritp.history(back?))"
我忘记怎么写来着,因为我的ASP很差。
 
先解决你说的问题,返回的超链接要是“后退”脚本。如下面的代码:
response.write "<a href='javascript:history.go(-1)'>点击返回<a>"
不过向楼主遇到的这种用户验证的东西一般放在用户端,用脚本验证。对于表单比较,可以编写一个验证程序响应OnSubmit事件,如:
<script language=JavaScript>
function CheckForm()
{ var res
res = true;
if (document.frmA.edtBT.value=="")
{
alert("您还没有输入姓名!");
res = false;
};
if (document.frmA.edtZZ.value=="")
{
alert("您还没有输入联系电话!");
res = false;
};
if (document.frmA.edtCC.value=="")
{
alert("您还没有输入地址!");
res = false;
};
if (document.frmA.edtNR.value=="")
{
alert("您还没有输入定购信息!");
res = false;
};
return res;
}
</script>
<form method="post" action="ADDDG.asp?insert=true" name="frmA" OnSubmit="return CheckForm()">
对于超连接,可以按照下面的例子:
<script language="javascript">
function del(id)
{
if (confirm("注意,删除以后将无法恢复!") )
window.location.href = "del.asp?FromURL=<%=GetUrl()%>&amp;id="+id;
}
</script>
<a href="javascript:del(3)">删除</a>
 
这样写当然会使原来的内容不见了,因为表单已经被提交了吗.
你必须用javascritp来判断,如果输入的内容合法再提交表单.
 
response.write "<a href='../webs/PASP.asp'>返回</a>"
改为
response.write"<a href="javascript:history.go(-1)">返回</a>"
就OK了!
 
呵呵,这个小问题引来这么多大回帖
大家说得都很对,<a href="javascript:history.go(-1)">sdaf</a>是可以的。
ydjjld说得在客户端验证是非常常用的方法,这样可以减轻一点服务器的工作量。不过他写的代码太多了,描述的也不具体,楼主要是看不明白,我给写一个详细的。
<script language=javascript>
function checkInput(theForm) //定义一个函数来检查用户输入
{
if(theForm.UserName.value=="")
{
alert('请输入姓名再提交!');
//弹出一个警告框
return false;
//return false使得表单不被提交,否则表单会被提交
}
}
</script>
--------------------
你的表单这样写来调用这个函数
<form action='sss.asp' onSubmit="return inputCheck(this);" method=post>
...
<input type=text name=UserName>
.....
</form>
---------------------
这样,只要你一点“提交”就会首先执行checkInput函数。如果没有输入姓名,则弹出警告框。
利用这个办法可以检查表单中所有内容,而不止一个姓名。也可以用来判断长度、两次输入的密码是否一致、email格式是否正确等等。
不知道这样说你明白了么?
 
后退
顶部