<html>
<head>
<title>传送一个对象</title>
</head>
<style type="text/css">
<!--
.tablecss{
border-collapse: collapse;
border: 1px solid #fedccc;
font-size: 14px;
table-layout:fixed;
}
.tablecss td {
text-align: left;
height: 25px;
border-right-style: solid;
border-right-width: 1px;
border-color: gray;
}
.tablecss.th {
background-color: #3a95c2;
color: white;
font-family: Verdana;
font-size: 14px;
font-weight: bold;
text-align: center;
border-right-style: solid;
word-break:keep-all;
border-right-width: 1px;
top: expression(offsetParent.scrollTop);
position: relative;
}
.edit{
cursor:hand;
}
.text {
width: 100%;
border:1px solid BLUE;
background: white;
}
.label{
width: 100%;
border:0px;
background: papayawhip;
}
.fixedCell{
background:#f8fcf0;
}
.fixedCell1{
background:#99FF99;
}
.resizeCell{
position:relative;
background-color:gray;
width:1;
z-index:1;
left:expression(this.parentElement.offsetWidth-2);
cursor:e-resize;
}
-->
</style>
<script language="javascript">
<!--
var rows=1;//总行数//设置行的样式
function rowCss(o,a){
var t=document.getElementById(o).getElementsByTagName("tr");
rows=t.length-1;
for(var i=1;i<=rows;i++){
t[i].style.backgroundColor=a;
}
}
//删除用户
function deleteUser(){
if(rows==1){
alert('只有一行不可以删除');
return;
}
var rowIndex=event.srcElement.parentNode.parentNode.rowIndex;
var typetable=document.getElementById('rowcss');
typetable.deleteRow(rowIndex);
rows--;
}//添加用户
function addUser(){
var rowIndex=event.srcElement.parentNode.parentNode.rowIndex;
var typetable=document.getElementById("rowcss");
var trT = typetable.insertRow(rowIndex+1);
if((rowIndex+1)%2==0)trT.style.backgroundColor='#99FF99';
if((rowIndex+1)%2!=0)trT.style.backgroundColor='papayawhip';
for(var i=0;i<4;i++){
var cell=document.createElement("td");
if(i==0){
cell.setAttribute("className","fixedCell");
cell.setAttribute("class","fixedCell");
cell.innerText=rows+1;
}
else if(i<=3){
var input=document.createElement("input");
input.setAttribute("type","text");
if(i==1){input.setAttribute("name","users["+rows+"].name");
input.onkeydown =function(){if(event.keyCode==13)event.keyCode='9';}
}
if(i==2){input.setAttribute("name","users["+rows+"].age");
input.onkeydown =function(){if(event.keyCode==13)event.keyCode='9';
}
input.setAttribute("readonly","readonly");
}
if(i==3){input.setAttribute("name","users["+rows+"].address");
input.onkeydown =function(){if(event.keyCode==13)rowinsert();}
}
input.setAttribute("class",'label');
input.setAttribute("className",'label');//IE
cell.appendChild(input);
}
trT.appendChild(cell);
}
document.getElementById("rowcss").rows[rowIndex+1].cells[1].children[0].focus();
rows++;
}//为可以拖去的"|"添加事件
function setDrag(){
for(var i=1;i<4;i++){
var l=document.getElementById("drag"+i);
l.onmousedown=MouseDownToResize;
l.onmousemove=MouseMoveToResize;
l.onmouseup=MouseUpToResize;
}
}//实现拖动table的列
var obj;//当前拖动的对象
function MouseDownToResize(){
obj=event.srcElement;
obj.mouseDownX=event.clientX;
obj.pareneTdW=obj.parentElement.offsetWidth;
obj.pareneTableW=rowcss.offsetWidth;
obj.setCapture();
}
function MouseMoveToResize(){
if(!obj||!obj.mouseDownX) return false;
var newWidth=obj.pareneTdW*1+event.clientX*1-obj.mouseDownX;
if(newWidth>0)
{
obj.parentElement.style.width = newWidth;
rowcss.style.width=obj.pareneTableW*1+event.clientX*1-obj.mouseDownX;
}
}
function MouseUpToResize(){
obj.releaseCapture();
obj.mouseDownX=0;
}
function dd()
{
var k=event.keyCode;
if((event.ctrlKey)&&(k==68))
{
alert("d"); deleteUser();
}
}
function rowinsert()
{
var rowIndex=event.srcElement.parentNode.parentNode.rowIndex;
var tablelength=document.getElementById("rowcss").rows.length;
if(tablelength-1==rowIndex)addUser();
if(tablelength-1!=rowIndex)document.getElementById("rowcss").rows[rowIndex+1].cells[1].children[0].focus();
}
-->
</script>
<head>
<title>類型管理</title>
</head>
<body onkeydown="dd()"> <form action="user.do" method="post">
<div style="width: 100%; height: 450; overflow-x: auto; overflow-y: auto">
<table id='rowcss' class='tablecss' frame="below">
<tr class="th" >
<!-- 使用th会让拖动出错 -->
<td width="25" >
</td>
<td>
<label class="resizeCell" id="drag1"></label>
姓名
</td>
<td>
<label class="resizeCell" id="drag2"></label>
年龄
</td>
<td>
<label class="resizeCell" id="drag3"></label>
地址
</td>
</tr>
<tr>
<td class="fixedCell">1</td>
<td class="edit" >
<input type="text" realy name="users[0].name" onkeydown="if(event.keyCode==13)event.keyCode='9'"
value="" class="label"/>
</td>
<td class="edit" onkeydown="if(event.keyCode==13)event.keyCode='9'">
<input type="text" readonly="readonly" name="users[0].name"
value="" class="label"/>
</td>
<td class="edit" onkeydown="if(event.keyCode==13)rowinsert()">
<input type="text" name="users[0].name"
value="" class="label"/>
</td>
</tr>
</table>
</div>
<input type="button" name="btn" value="保存">
</form>
<script language="javascript">
<!--
rowCss("rowcss","papayawhip");
setDrag();
-->
</script>
</body>
</html>小弟是初学stuts,想问问 怎么提交datagrid数据到 数据库中,提个思路,有源码和例子最好了,还有怎么从数据库中数据用 logic:present和logic:iterate把数据显示出来啊,谢谢各位了
1 <form action="x.do?method=你的struts里的action里面的方法名字但是不包括括号" method="post"> method是你的struts-config.xml里面配置的参数 parameters="method" 配置在<action-mapping>里面
2 request.setAttribute("list",list);
<logic:present name="list">//当前请求是否存在名字叫做list的集合
<logic:Iterater name="list" Collection="${requestScope.list}">//迭代标签
${list.封装数据的javaBean的参数名字}
</logic:iterater>
</logic:present>