编辑前状态:

实际上,我们看到的编辑前的input添加了以下样式:
所以看上去,是没有边框的,而且背景色继承了父容器的颜色。
-------------------------------------------------------------
.readonly{ border:none; background-color:inherit }
所以看上去,是没有边框的,而且背景色继承了父容器的颜色。
-------------------------------------------------------------
当用户点击“编辑”按钮后

点击“编辑按钮”会触发以下js:
$('#editMyBasicInfoBtn').click(function(){ $(this).parents('form') // For each element, pick the ancestor that's a form tag. .find(':input') // Find all the input elements under those. .each(function(i) { $(this).prop("readonly",false); $(this).removeClass("readonly"); }); });
以上代码会移除.readonly样式.所以表单看起来变成了可编辑状态。
而真正控制表单input能不能编辑的属性是readonly="readonly".
-------------------------------------------------------------
以下是完整代码,将以下代码保存为test.html即可测试效果。
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" ></script> <script > $(document).ready(function() { //Edit My Basic Info Btn click will trigger this $('#editMyBasicInfoBtn').click(function(){ $(this).parents('form') // For each element, pick the ancestor that's a form tag. .find(':input') // Find all the input elements under those. .each(function(i) { $(this).prop("readonly",false); $(this).removeClass("readonly"); }); }); }); </script> <style type="text/css"> body{ color: black; } table { display: table; border-collapse: separate; border-spacing: 2px; border-color: gray; font: 9px Verdana,"Lucida Grande",Tahoma,Geneva,Arial,Helvetica,sans-serif; } tbody { display: table-row-group; vertical-align: middle; border-color: inherit; } tr { display: table-row; vertical-align: inherit; border-color: inherit; } td.label { padding: 0.1em 0.5em; white-space: nowrap; line-height: 100%; background-color:#CCCCCC; } td, th { display: table-cell; vertical-align: inherit; } td.value { padding: 0.1em 0.5em; white-space: nowrap; line-height: 120%; } .readonly{ border:none; background-color:inherit } </style> </head> <body> <h2>Basic Information</h2> <form action="" method="post" id="myBasicInfo"> <table cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td class="label">Employee ID:</td> <td class="value"> <input type="text" name="empID" name="empID" value="21233333" size="40" maxlength="1000" readonly="readonly" class="readonly" /></td> <td class="label">Employee Name:</td> <td class="value"><input type="text" name="empName" name="empName" value="Henry Poter" size="40" maxlength="1000" class="readonly" /></td> </tr> <tr> <td class="label">Gender:</td> <td class="value"><input type="text" name="gender" value="Male" size="40" maxlength="1000" readonly="readonly" class="readonly"></td> <td class="label">Birthday:</td> <td class="value"><input type="text" name="birthday" value="1988-08-08" size="40" maxlength="1000" class="readonly"></td> </tr> <tr> <td class="label">Email:</td> <td class="value"><input type="text" name="email" value="admin@phpcode8.com" size="40" maxlength="1000" readonly="readonly" class="readonly"></td> <td class="label">Mobile Phone:</td> <td class="value"><input type="text" name="mobile" value="" size="40" maxlength="1000" class="readonly"></td> </tr> <tr> <td ></td> <td class="value"><input type="button" value="Edit" id="editMyBasicInfoBtn" name="editMyBasicInfoBtn" /> <input type="submit" value="Save" /><input type="reset" value="Cancel" /></td> <td ></td> <td ></td> </tr> </tbody> </table> </form> </body> </html>