1.在双击单元格事件的处理函数加入不可修改的单元格的判断。类似
for(var i=0;i<arr.length;i++){
if(currentCell.className.indexOf('readonly') > -1){
continue;
}else{
....
}
}
2.可以考虑用JSON来传递数据。
for(var i=0;i<arr.length;i++){
if(currentCell.className.indexOf('readonly') > -1){
continue;
}else{
....
}
}
2.可以考虑用JSON来传递数据。
<form name="f1" method="post" action="XXX">
<table border="1" width="500">
<tr>
<td width="20%">这是主键</td>
<td width="40%">名字</td>
<td width="40%">编号</td>
</tr>
<tr>
<td><input type="hidden" name="ids" value="1">1</td>
<td onDblClick="show(this,'0','打酱油');"><input type="hidden" name="names" value="打酱油">打酱油</td>
<td onDblClick="show(this,'1','9527');"><input type="hidden" name="codes" value="9527">9527</td>
</tr>
<tr>
<td><input type="hidden" name="ids" value="2">2</td>
<td onDblClick="show(this,'0','俯卧撑');"><input type="hidden" name="names" value="俯卧撑">俯卧撑</td>
<td onDblClick="show(this,'1','9528');"><input type="hidden" name="codes" value="9528">9528</td>
</tr>
</table>
<input type="submit">
</form>
<script>
function show(obj,id,valu){
if(id == "0"){
obj.innerHTML = "<input type='text' name='names' value='"+ valu +"'>";
}else if(id == "1"){
obj.innerHTML = "<input type='text' name='codes' value='"+ valu +"'>";
}
}
</script>然后在后台这样取
String id[] = request.getParameterValues("ids");//这是主键的数组
String name[] = request.getParameterValues("names");//这是名字的数组
String code[] = request.getParameterValues("codes");//这是编号的数组
这里是一一对应的
id[0]的名字是name[0],编号是code[0]
id[1]的名字是name[1],编号是code[1]
依次类推,下面就是把所有的值在数据库里跟新一遍ok
在jsp中可以把我给你的例子写成动态的啊