伊峰独居

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  30 随笔 :: 30 文章 :: 5 评论 :: 0 Trackbacks

问题

你想要使用户能够通过点击一个不在HTML表单标签中的图像来提交表单。

动作要领

适应一个对JavaScript URL 的链接来提交表单:


< html:link  href ="javascript:document.myform.submit(  )" >
    
< html:img  page ="/submit-form.gif"  
               alt
="Submit"  border ="0" />  
</ html:link >

 

动作变化

Web 应用经常使用可点击的图像来提交表单而不是仅仅通过表单按钮。Struts 的html:image标签可以用来产生一个显示图像的HTML input type="image" 标签。但是,对于复杂的 HTML 布局,并不总是能够将图像嵌入在表单<form> . . . </form>标签之中。有些时候,一个 HTML 页面可能在页面的某一段可能有多个表单,而提交页面的图像则在页面的另一个区域。比如,工具条风格的图像按钮。

上面的方法可以用于从表单之外的图像提交表单。所显示的图像嵌套在html:link标签中。该链接通过执行一行JavaScript来提交表单。在上面的代码中,JavaScript 将提交名为MyForm 的表单。表单名称必须匹配struts-config.xml文件中所配置的action元素的name属性。下面是这种方法产生的HTML 代码:

 

< href ="javascript:document.myform.submit(  )" >
    
< img  src ="/myapp/struts-power.gif"
         border
="0"  alt ="Submit" >
</ a >

 

虽然你可以直接使用上述HTML标记而不是Struts html标签,如果那样的话你将失去那些标签所提供的特征。通过使用Struts tag,你就不是必须要指定context 名称,并且你可以使图像名称和替换文本来自于资源束 (如果你需要的话)。

另一个办法是使用html:img 标签的onclick属性:

 

< html:img  page ="/submit-form.gif"
       onclick
="document.MyForm.submit( );"
           alt
="Submit"  border ="0" />

 

这种方式的缺点是,有些浏览器并不提供图像是可以点击的一些可视提示线索。因为图像嵌入到一个链接中,大多数浏览器都会在改变鼠标指针以提示该图像是可以点击的。

posted on 2006-10-11 11:09 伊峰 阅读(405) 评论(0)  编辑  收藏 所属分类: 其他学习

只有注册用户登录后才能发表评论。


网站导航: