我试图在一个按钮上显示三个按钮。在按钮之前,所有三个按钮都被隐藏。我设置隐藏的属性,我也在一个按钮点击调用一个功能。问题是,当我加载页面时,所有按钮都可见。在我添加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;
- }
我可以做什么改变,以便当我点击编辑它设置三个按钮的隐藏属性false。提前致谢。
解决方法
如果您进行以下更改,它也可以不使用jQuery:
>将type =“button”添加到编辑按钮,以不触发提交表单。
>将change()函数的名称更改为其他任何东西。
>不要使用hidden =“hidden”,改用CSS:style =“display:none;”。
以下代码适用于我:
- <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>