我试图在一个按钮上显示三个按钮。在按钮之前,所有三个按钮都被隐藏。我设置隐藏的属性,我也在一个按钮点击调用一个功能。问题是,当我加载页面时,所有按钮都可见。在我添加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>