为什么display:none不会隐藏struts2标签,如<s:textfield> </s:textfield>

时间:2014-06-23 09:08:56

标签: jquery html struts2

我想知道为什么div标签无法隐藏Struts2标签,我使用的div应该在加载时隐藏,onChange我调用jQuery来切换{{1}标签......

div

2 个答案:

答案 0 :(得分:1)

默认情况下,Struts2使用xhtml主题生成表单字段的html内容,例如textfield标记。此主题使用带有<table>的{​​{1}}布局作为输入元素。这会破坏您的设计,因为这些元素位于<tr><td>标记之外。如果您想对输入字段使用<div>而不是<div>,则可以选择<tr><td>主题。如果您想省略生成css_xhtml<tr><td>,则可以使用<div>主题。例如

simple

答案 1 :(得分:0)

我试过了。为我工作100%:))

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Insert title here</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
        //jquery methods go here...


  $("#btnhidediv").change(function(){

        $("#togglediv").toggle();

    });



});
</script>



</head>
<body>
<form>
<div  id="togglediv" style="display: none;">
<s:textfield  type="text" name="xyz" key="xyz" size="11" label="xyz"></s:textfield><br />

<p>Hieeeeeeeeeee</p>

</div>
<input type="text" id="btnhidediv">
</form>
<body>
</html>