html中按钮的隐藏属性

时间:2012-07-06 14:20:13

标签: html button hidden

我想在一个按钮点击上显示三个按钮。在按钮单击之前,所有三个按钮都被隐藏。我设置了隐藏属性,我也在点击按钮时调用了一个函数。问题是,当我加载页面时,所有按钮都是可见的。在我添加css之前,它工作得很好。我不明白问题出在哪里。这是HTML代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="STYLESHEET" type="text/css" href="dba_style/buttons.css" />
<title>Untitled Document</title>

</head>
<script type="text/javascript">
function change(){
document.getElementById("save").hidden = "";
document.getElementById("change").hidden = "";
document.getElementById("cancel").hidden = "";

}
</script>
<body>
<form name="form1" method="post" action="">
<div class="buttons">

    <button class="regular" name="edit" id="edit" onclick="change();">
        <img src="dba_images/textfield_key.png" alt=""/>
        Edit
    </button>

    <button type="submit" class="positive" name="save" id="save" hidden="hidden">
        <img src="dba_images/apply2.png" alt=""/>
        Save
    </button>

    <button class="regular" name="change" hidden="hidden" id="change">
        <img src="dba_images/textfield_key.png" alt=""/>
        change
    </button>

    <button class="negative" name="cancel" id="cancel" hidden="hidden">
        <img src="dba_images/cross.png" alt=""/>
        Cancel
    </button>
</div>
</form>
</body>
</html>

这是我正在使用的CSS。

.buttons a, .buttons button{
display:block;
float:left;
margin:0 7px 0 0;
background-color:#f5f5f5;
border:1px solid #dedede;
border-top:1px solid #eee;
border-left:1px solid #eee;

font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
font-size:12px;
line-height:130%;
text-decoration:none;
font-weight:bold;
color:#565656;
cursor:pointer;
padding:5px 10px 6px 7px; /* Links */
}
.buttons button{
width:auto;
overflow:visible;
padding:4px 10px 3px 7px; /* IE6 */
}
.buttons button[type]{
padding:5px 10px 5px 7px; /* Firefox */
line-height:17px; /* Safari */
}
*:first-child+html button[type]{
    padding:4px 10px 3px 7px; /* IE7 */
}
.buttons button img, .buttons a img{
margin:0 3px -3px 0 !important;
padding:0;
border:none;
width:16px;
height:16px;
}

/* STANDARD */

button:hover, .buttons a:hover{
background-color:#dff4ff;
border:1px solid #c2e1ef;
color:#336699;
}
.buttons a:active{
background-color:#6299c5;
border:1px solid #6299c5;
color:#fff;
}

/* POSITIVE */

button.positive, .buttons a.positive{
color:#529214;
}
.buttons a.positive:hover, button.positive:hover{
background-color:#E6EFC2;
border:1px solid #C6D880;
color:#529214;
}
.buttons a.positive:active{
background-color:#529214;
border:1px solid #529214;
color:#fff;
}

/* NEGATIVE */

.buttons a.negative, button.negative{
color:#d12f19;
}
.buttons a.negative:hover, button.negative:hover{
background:#fbe3e4;
border:1px solid #fbc2c4;
color:#d12f19;
}
.buttons a.negative:active{
background-color:#d12f19;
border:1px solid #d12f19;
color:#fff;
}

/* REGULAR */

button.regular, .buttons a.regular{
color:#336699;
}
.buttons a.regular:hover, button.regular:hover{
background-color:#dff4ff;
border:1px solid #c2e1ef;
color:#336699;
}
.buttons a.regular:active{
background-color:#6299c5;
border:1px solid #6299c5;
color:#fff;
}

我可以进行哪些更改,以便在点击编辑时设置三个按钮hidden的{​​{1}}属性。在此先感谢。

2 个答案:

答案 0 :(得分:65)

如果您执行以下更改,它也可以在没有jQuery的情况下运行:

  1. type="button"添加到编辑按钮,以便不触发提交表单。

  2. 将您的功能名称从change()更改为其他任何内容。

  3. 请勿使用hidden="hidden",请改用CSS:style="display: none;"

  4. 以下代码适用于我:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="STYLESHEET" type="text/css" href="dba_style/buttons.css" />
    <title>Untitled Document</title>
    </head>
    <script type="text/javascript">
    function do_change(){
    document.getElementById("save").style.display = "block";
    document.getElementById("change").style.display = "block";
    document.getElementById("cancel").style.display = "block";
    }
    </script>
    <body>
    <form name="form1" method="post" action="">
    <div class="buttons">
    
    <button type="button" class="regular" name="edit" id="edit" onclick="do_change(); return false;">
        <img src="dba_images/textfield_key.png" alt=""/>
        Edit
    </button>
    
    <button type="submit" class="positive" name="save" id="save" style="display:none;">
        <img src="dba_images/apply2.png" alt=""/>
        Save
    </button>
    
    <button class="regular" name="change" id="change" style="display:none;">
        <img src="dba_images/textfield_key.png" alt=""/>
        change
    </button>
    
        <button class="negative" name="cancel" id="cancel" style="display:none;">
            <img src="dba_images/cross.png" alt=""/>
            Cancel
        </button>
    </div>
    </form>
    </body>
    </html>
    

答案 1 :(得分:3)

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script>

function showButtons () { $('#b1, #b2, #b3').show(); }

</script>
<style type="text/css">
#b1, #b2, #b3 {
display: none;
}

</style>
</head>
<body>

<a href="#" onclick="showButtons();">Show me the money!</a>

<input type="submit" id="b1" value="B1" />
<input type="submit" id="b2" value="B2"/>
<input type="submit" id="b3" value="B3" />

</body>
</html>