注册 登录
编程论坛 J2EE论坛

为什么点击重置按钮不起作用?

Grace_TT 发布于 2006-07-27 21:56, 3742 次点击
只是在第一次填写时点击它,它会清空,之后再返回到这个页面重新填写时,点击它根本就不起作用,有谁知道这是怎么回事吗?要怎么做才能让它任何时候都能清空呢?


谢谢!!!
21 回复
#2
神vLinux飘飘2006-07-27 22:36
尝试一下,把其中的一项改写,然后点击重填,看看会不会恢复成修改之前的内容。

如果是,那么我就遇到过这种情况。
这个是html的特性,需要用javascript来解决。如果要用JSP来解决的话也可以,但是比较麻烦。很遗憾,当初我选择的是JSP解决,后悔啊!!!
#3
Grace_TT2006-07-28 01:13

具体怎么解决呀?

还有,我看的Struts书中说,ActionForm bean的生命周期可以设置为session(缺省)和request,当设置为session时,记得在reset方法中将所有的属性重新设置为初始值。

我原以为将 reset方法中将所有的属性重新设置为初始值 就可以解决这个问题,结果发现根本没用,那这个reset方法是干什么用的,我如果 不将在reset方法中将所有的属性重新设置为初始值 会出现什么问题?

谢谢!!

#4
神vLinux飘飘2006-07-28 01:17
尝试一下,把其中的一项改写,然后点击重填,看看会不会恢复成修改之前的内容。
#5
ziyehanbin2006-07-28 07:46

你可以在返回时修改url后的一个参数,让浏览器知道来自不同url!
或者用javascript修改DOM标签(这种方式一般用来后台修改整体页面)!!
你可以参考ajax方面的书,那里作了详细的介绍!

#6
神vLinux飘飘2006-07-28 08:14
我是比较支持javascript修改DOM的方式
#7
Grace_TT2006-07-28 19:56
以下是引用神vLinux飘飘在2006-7-28 1:17:49的发言:
尝试一下,把其中的一项改写,然后点击重填,看看会不会恢复成修改之前的内容。

恢复成修改以前的内容了

#8
神vLinux飘飘2006-07-28 20:07
用javascript进行修改DOM的方式,推荐这个方法,因为能不用JSP就能解决
#9
Grace_TT2006-07-28 20:24
以下是引用神vLinux飘飘在2006-7-28 20:07:06的发言:
用javascript进行修改DOM的方式,推荐这个方法,因为能不用JSP就能解决

告诉我代码具体怎么写好不好?因为我对javascript不熟习,谢谢了!

#10
Grace_TT2006-07-28 20:26

想在今晚搞定它,帮帮我吧。

#11
神vLinux飘飘2006-07-28 20:59
我说美女啊,论坛一帖一帖的那么回好慢呀,不如~~ 嘿嘿
#12
Grace_TT2006-07-28 21:06
呵呵,你想怎样?

。。。。。。我现在很着急,我这几天都没心情干别的了。。。
#13
神vLinux飘飘2006-07-28 21:18
<html>
<form id="myForm">
<input type="text" name="username" value="vlinux"/>
<input type="reset" value="reset"/>
</form>
</html>

这段是是不是你所说的问题的代码的一个典型例子。不管怎么点reset,username那一栏就是不清空?~
#14
Grace_TT2006-07-28 21:21

对呀,就是这样的。。。。

#15
神vLinux飘飘2006-07-28 21:26
这个问题的原理是因为reset这个按钮的功能是把<input type="text" name="username"/>的内容都恢复成为默认值,而默认值我在一开始就给它设置好了 value="vlinux",所以只要一reset,那么username输入栏的内容就肯定是vlinux。

知道了问题的原因,我们就对症下药了。
我们先用javascript的方法进行清除,这个方法的缺点就是--不灵活。

<html>
<head>
<script type="text/javascript">
function clean(){
document.myform.username.value="";
}
</script>
</head>
<body>
<form name="myform">
<input type="text" name="username" value="vlinux"/>
<input type="button" value="reset" onclick="clean()"/>
</form>
</body>
</html>
#16
Grace_TT2006-07-28 21:39
我们先用javascript的方法进行清除,。。。。。。。不灵活。
-----------
呵呵,接下来再用什么方法?
#17
Grace_TT2006-07-28 21:49
我发现不用写JavaScript了,刚才看了你的话,我就将 value="", 结果返回这个页面后,输入文本框就是空白,呵呵。
#18
神vLinux飘飘2006-07-28 21:51
接下来就用jsp的方法咯
这个方法你用起来简单,但是我举例子就难举了。

关键在于你返回的那个URL,让request或者是session中的值为空

<input type="text" name="username" value="${user.username}"/>

假设这个user是存放在request中的。
如果这个时候request中的user!=null,而且username又是有个值vlinux,那么JSP就会写成
<input type="text" name="username" value="vlinux"/>
这样,我们的问题就出现了。
如果我们能在JSP生成之前--就是想办法把request中的user.username弄成null就可以了。

哎,我知道这样说根本说不清楚,原理是很简单的,解决方法也是很简单的。只是我不会表达,呵呵。

你先用javascript应急先吧。
又:美女啊,论坛回帖子慢啊~ $_$
#19
Grace_TT2006-07-28 21:58
就是想办法把request中的user.username弄成null就可以了。
-----------想什么办法?

又:美女啊,论坛回帖子慢啊~ $_$
---------那 哪里 回帖子 快呀?哈哈!
#20
神vLinux飘飘2006-07-28 22:13
晕倒。看来你遇到的问题比我遇到的要简单 =_=!!!

MSN QQ 回帖快呀 挖哈哈
#21
Grace_TT2006-07-28 22:39
MSN QQ 回帖快呀 挖哈哈
-------MSN重装系统后,就没再装,QQ密码忘了,而且还是两个都忘了,不过我曾经为了以防万一将一个QQ号记在一个本上了,懒得找,呵呵。。
#22
神vLinux飘飘2006-07-29 11:54
5555,那照片也好挖
1