论坛首页 Java企业应用论坛

使用javascript操作struts2标签的问题?

浏览 15137 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-10-15  
innerHtml += '<s:textfield name="singerDtos[0].name" label="歌手名字" id="name"/>';
innerHtml += '<s:select name="singerDtos[0].region" list="#{\'china\':\'华人歌手\',\'korea\':\'韩国歌手\',\'japan\':\'日本歌手\',\'occident\':\'欧美歌手\'}" listKey="key" listValue="value"/>';
innerHtml += '<s:select name="singerDtos[0].sex" list="#{\'m\' : \'男\',\'w\':\'女\'}" listKey="key" listValue="value"/>'
document.getElementById("Singers").innerHTML = innerHtml;

struts标签解析后导致''里面的字符串分成多行,
由于str = 'ddddd
      ddddd'
不合法
从而产生问题.
另外由于struts表单会有自己的样式,用table格式化,从而导致混用html标准标签例如<input>
和struts标签例如<s:textfield>变的困难.
而直接使用标准的<form>标签,基于struts2配置的客户端效验变的不可能(我不知道有没有其他的方法)
   发表时间:2007-10-17  
<div id="hidden">你的Struts2标签。。。</div>

<script>
  function loadStruts2Tag //处理你隐藏的Struts2标签
</script>

<body onload="loadStruts2Tag()"

行不行?
0 请登录后投票
   发表时间:2007-10-18  
樓柱問題有解決嗎,我也遇到同樣問題,請教!
0 请登录后投票
   发表时间:2007-10-18  
我已經解決了,.js裏出現這問題,但把script放到.jsp中就OK
0 请登录后投票
   发表时间:2007-10-19  
如果你将javascript写在js文件中间的话,js文件是没法使用struts2标签的。你可以将他写在jsp页面里面,或者换个方式,将struts2标签写在jsp页面中,在js文件里面通过document.getElementById来获得值,需要注意的是你要获得该标签的值的话,在getElementById之后需要用到childNodes[0]来定位一下
0 请登录后投票
   发表时间:2007-10-19  
我抛弃了struts标签,呵呵。关键是由标签生成的html换行了
象 function someOperation(){
       //...
       innerHtml += '<input type="text">
                     <input type="button">';
   }
就变的不合法了吧。
0 请登录后投票
   发表时间:2007-12-11  
fuliang 写道
innerHtml += '<s:textfield name="singerDtos[0].name" label="歌手名字" id="name"/>';
innerHtml += '<s:select name="singerDtos[0].region" list="#{\'china\':\'华人歌手\',\'korea\':\'韩国歌手\',\'japan\':\'日本歌手\',\'occident\':\'欧美歌手\'}" listKey="key" listValue="value"/>';
innerHtml += '<s:select name="singerDtos[0].sex" list="#{\'m\' : \'男\',\'w\':\'女\'}" listKey="key" listValue="value"/>'
document.getElementById("Singers").innerHTML = innerHtml;

struts标签解析后导致''里面的字符串分成多行,
由于str = 'ddddd
      ddddd'
不合法
从而产生问题.
另外由于struts表单会有自己的样式,用table格式化,从而导致混用html标准标签例如<input>
和struts标签例如<s:textfield>变的困难.
而直接使用标准的<form>标签,基于struts2配置的客户端效验变的不可能(我不知道有没有其他的方法)


这样做有什么意义呢,struts的标签在jsp运行之后早被转换为普通的html了, 而js的更是在其后才执行。
0 请登录后投票
   发表时间:2007-12-11  
不能在js中引用struts标签,一个在客户端上执行,一个在服务器上运行,在客户端struts标签已经转为普通的html了。必须先在jsp页面上把用struts标签把值赋给具体的DOM元素,然后在js中才能通过documeng.getElementById("id").value来得到
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics