首页 新闻 搜索 专区 学院

如何实现提交表单时不会刷掉文本框内容

0
悬赏园豆:5 [已解决问题] 解决于 2009-01-15 13:02

我的注册页面是用HTML控件的,我用JS在前台判断了一遍,点提交的时到服务器再判断了一下,正确的话跳到注册成功页面,失败的话返回注册页面提示哪里不对,当返回来时页面的文本框都空了,如何让文本框不会被刷掉!还是用户原来填写的信息?谢谢

加上了<script type="text/javascript">history.back();</script> 这句后可以实现,但是

后台

string userName = Request.Form["txtUserName"].ToString();
if (userName == "")
{
this.errorName.Text = "<script>alert('不能为空)</script>";

this.errorName.Text = "不能为空";
}

这样都不可以,还有前台用Lable显示的判断也被刷掉了

这样就可以Response.Write("<script>alert('错误')</script>");

 

零度吹风的主页 零度吹风 | 初学一级 | 园豆:0
提问于:2009-01-07 21:05
< >
分享
最佳答案
0

可以考虑使用 Ajax 提交:

将当前页面的参数提交到服务器的时候,禁用当前页面(灰色处理等),一旦后台判断提交成功,向前台发送脚本命令,使得当前页面跳转到指定页面;如果提交失败,则显示相关错误,同时页面可用(取消灰色处理等)。

补充:

jquery 中有包装完好的 $.post([params], cabackFunc) 函数,应用还是比较方便的。

陛下 | 老鸟四级 |园豆:3938 | 2009-01-08 09:09
其他回答(4)
0

把你的form的target指定到一个iframe,然后在iframe里处理提交的结果,并根据结果处理当前的表单.

I,Robot | 园豆:9563 (大侠五级) | 2009-01-07 22:37
0

常用的做法是在错误以后吧值都传给页面再赋值给文本框,而不是指望文本框的值完全不消失

Gray Zhang | 园豆:17610 (专家六级) | 2009-01-07 23:18
0

“失败的话返回注册页面提示哪里不对”

我觉得只要判断失败就直接返回函数的执行就行了,不用重定向。这样不就可以保留住提交前的信息吗!

当成功时你再重定向

GUO Xingwang | 园豆:3885 (老鸟四级) | 2009-01-08 09:43
0

好象用ViewState最简单吧`~

沙加 | 园豆:3680 (老鸟四级) | 2009-01-08 14:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册