| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1391 人关注过本帖
标题:按提交按钮后检测出错误想再次返回此页而不要提交下去
只看楼主 加入收藏
哈马拟
Rank: 1
等 级:新手上路
帖 子:270
专家分:0
注 册:2004-7-15
收藏
 问题点数:0 回复次数:9 
按提交按钮后检测出错误想再次返回此页而不要提交下去

…………

<script language="javascript"> function checkdate(){ thistime=new Date() thisyear=thistime.getYear() thismonth=thistime.getMonth() thismonth+=1 thisdate=thistime.getDate() month_str=String(thismonth) if (month_str.length==1) {month_str="0"+month_str;} thistime_str=String(thisyear)+month_str+String(thisdate)

ph_time="20"+document.form1.ph_year.value+document.form1.ph_month.value+document.form1.ph_date.value if (ph_time>thistime_str) {alert("批号中输入日期有误,生产批次日期不能超越现在的日期"); alert(thistime_str); alert(ph_time);

response.redirect"produce_new_large.htm"; return false;

} else alert(ph_time); } </script> ……

……

我曾试写过上面的代码(最后在提交按钮的onclick事件中调用此函数):可是只要有上面那一条红色的语句,代码就执行不了

我一直搞不懂怎么回事,看了honrry的“用ASP代码实现防止表单多次被提交”大作,我总算明白了点(为什么那条红色语句执行不了)

既然已经检测出表单输入不合法,我的本意是要此表单不能提交下去给处理程序,想输出警告信息后重定向到本表单网页重新输入

可我上面的方法已经行不通(那条红色语句执行不了)

那样怎样实现呢????

请honrry和其他大虾能再次指点迷津,谢谢

搜索更多相关主题的帖子: str month thistime 按钮 
2004-07-27 20:33
寒星
Rank: 1
等 级:新手上路
帖 子:455
专家分:0
注 册:2004-6-7
收藏
得分:0 

HTTP 标题已经写入到 客户浏览器。任何 HTTP 标题的修改 必须在写入页内容之前。 在你的文件开始<@ Language=...>后写: Response.Buffer = True 在结尾写:    Response.Flush

不知道出现什么错误?


http://www. 版主位置空缺
2004-07-28 12:57
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 

晕到  response.redirect"produce_new_large.htm";  这是服务端脚本!

要改成 history.back();


天津网站建设 http://www./
2004-07-28 22:52
哈马拟
Rank: 1
等 级:新手上路
帖 子:270
专家分:0
注 册:2004-7-15
收藏
得分:0 

grief版主的眼真尖

可是,问题还是没有解决!!

我曾试着用了(将1楼中那条红色语句改为)——表单名为form1

<form name="form1" action="next.asp">

form1.action=""

或history.back()

或history.back(-1)

等都没用(即如果点了form1表单里的提交按钮后,会执行checkdate()函数的其它语句功能检查出输入数据的错误后,但还是会提交到form1表单中设置的next.asp网页!

checkdate()函数的调用在submit按钮的Onclick属性中调用,也曾用form1的onsubmit属性来调用过,可效果就是像我上面说的那样

应该有办法实现在1楼中描述的那些功能,是吗?


2004-07-29 22:32
哈马拟
Rank: 1
等 级:新手上路
帖 子:270
专家分:0
注 册:2004-7-15
收藏
得分:0 

郁闷

怎么还没人理我啊?就是说错了也不要紧啊

三个臭皮匠,赛过诸葛亮吗


2004-07-30 10:13
寒星
Rank: 1
等 级:新手上路
帖 子:455
专家分:0
注 册:2004-6-7
收藏
得分:0 

form1的onsubmit=“函数名”

里面不要写转向哪,

if (ph_time>thistime_str) {alert("批号中输入日期有误,生产批次日期不能超越现在的日期"); alert(thistime_str); alert(ph_time);

return false;

else return true

也就是里面只处理验证问题,不管转向

return flase以后自动会留在本页


http://www. 版主位置空缺
2004-07-30 12:59
哈马拟
Rank: 1
等 级:新手上路
帖 子:270
专家分:0
注 册:2004-7-15
收藏
得分:0 

return flase以后自动会留在本页

开始我也以为是这样,(把前后的转向语句全不要),可我已经测试过好几次了(return false 前一句的alert(ph_time)语句执行都正常)

可还是会提交下去啊,寒星版主????


2004-07-30 18:36
子夜寒玢
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2004-7-14
收藏
得分:0 

对javascript没太深了解,不过我感觉学asp用vbscript编这段代码还是比较好的!!!!

个人意见,不要见笑!!!!!!!!!!!!!!!!!!!!!

2004-07-30 18:52
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 

原来是说这个呀,这样写

<form name="form1" action="next.asp" onsubmit="javascript:return(checkdate())">

...

</form>


天津网站建设 http://www./
2004-07-30 20:47
哈马拟
Rank: 1
等 级:新手上路
帖 子:270
专家分:0
注 册:2004-7-15
收藏
得分:0 

谢谢大家特别是grief

总算已经OK!


2004-07-31 08:07
快速回复:按提交按钮后检测出错误想再次返回此页而不要提交下去
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030057 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved