form提交表单,不同按钮!

今天做表单,一个多按钮提交做了两个多小时,惭愧!
因为之前在EJB中做过三个按钮的,那里是提交到jsp里去处理,然后调用EJB来连接数据库并获取数据显示,所以在这里也想当然的通过button的name,再在servlet里面用getParameter这个name不为null来确定是这个button。
事实证明这样做在用type是submit的时候是可行的,可是如果type是button,通过onClick来submit的话就不行了。
在js里如果只是form.submit();的话,那么按钮信息会被丢失,最后只会提交表格内容!what the fck! 搞的我调试了大半天!
实在是做烦了,洗澡的时候突然想到是不是可以用hidden field来解决,事实证明是可行并且是非常有效的!步骤是:
1. 在表单中增加一hidden项, name可以是比如buttonId,value可以先为空。
2,在onClick的时候,在每个按钮各自的方法中通过form.buttonId.value设置各自的buttonId值.
3. 在servlet或者Jsp中通过判断buttonId值来确认哪个按钮提交的!
完美解决多按钮问题!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s