如何添加动态table中的数据到数据库02? 你打出name1.length这个看看是多少? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是这个通不过啊?前面的代码在如何添加动态table中的数据到数据库01? http://topic.csdn.net/u/20080616/13/9256f13b-8151-4160-a72f-edb4137ce4cc.html hid是个字符串,你在组合的时候可以用,连接,然后用split(",")来分割成数组 你System.out.println(name1.length);看看取没取到最近工作有点忙 白天上不了csdn... 可以了,可以添加数据到数据库了但无论我用String name1[]=(String[])request.getParameterValues("hid"); 循环取值还是用String name1 = new String(request.getParameter("hid").getBytes("ISO-8859-1")).trim(); 取字符表里添加的数据都在一个单元格里面了id1 id2 小王外省人 ,小王 NULL好像没有按循环去一个一个添加?怎么回事啊? System.out.println(name1.length);这个显示的值是“ 1 ”;长度始终是“1”;估计接受的数据不是数组而变成一个字符串了该怎么办啊? document.getElementById('hid').value = arrDb;//request.getParameter('hid')即可,此时的hid为arrDb中的项,默认用,分隔开,所以在java中还需要split下String name1[]=request.getParameterValues("hid").split(",");//这里需要split下,默认的分隔符号为",",除非在js中指定了其他的分隔符号 可以了但split下 添加到数据库里面的数据变成了乱码?怎么回事?? 编码不一致,把编码改一致来试下下面的,使用escape/encodeURI编码下 function sub(){ var oTbl = $('otbl'); //alert(oTbl.rows.length) if(num < oTbl.rows.length){ oTbl.rows(num).cells(0).innerText = $('oname').value; oTbl.rows(num).cells(1).innerText = $('oage').value; }else{ alert(num) var oRow = oTbl.insertRow(num); var oCell = oRow.insertCell(0); var oCell1 = oRow.insertCell(1); oCell.innerText += $('oname').value; oCell1.innerText += $('oage').value; } num++; } var arrDb = new Array(); function Dbclick(){ var oTbl = $('otbl'); for(var i=0;i<oTbl.rows.length;i++){ for(var j=0;j<oTbl.rows(i).cells.length;j++){ arrDb.push(encodeURI(oTbl.rows(i).cells(j).innerText));//==============编码一下 } } document.getElementById('hid').value = arrDb;//request.getParameter('hid')即可 alert(arrDb.length); alert(arrDb.toString())// } 谢谢,<BODY> <INPUT TYPE="text" id='oname' value='小王'> <INPUT TYPE="text" id='oage' value = '22'> <INPUT TYPE="hidden" id="hid">//这是一个隐藏字段<INPUT TYPE="button" value='提交' onclick="sub()"> <INPUT TYPE="button" value="更新到数据库" onclick='Dbclick()'> <TABLE border='1'id='otbl'> <TR> <TD> </TD> <TD> </TD> </TR> <TR> <TD> </TD> <TD> </TD> </TR> <TR> <TD> </TD> <TD> </TD> </TR> <TR> <TD> </TD> <TD> </TD> </TR> </TABLE> </BODY> </HTML> 现在只插入一条数据,初始化table表中多余的没有数据的行 也会成空白添加到数据库, 如: id1 id11 小王 222 小王 22343和4行就变成空白,再一次添加数据 ,就从第5行开始添加,不知道怎样才能不添加空白行,再一次添加数据 直接从第3行开始添加??? 把空的行不发送到服务器就好了//给string类型添加一个原型trimString.prototype.trim=function(reg){if(reg)return this.replace(reg,"");else return this.replace(/^\s*|\s*$/g,"");}function sub(){ var oTbl = $('otbl'); //alert(oTbl.rows.length) if(num < oTbl.rows.length){ oTbl.rows(num).cells(0).innerText = $('oname').value; oTbl.rows(num).cells(1).innerText = $('oage').value; }else{ alert(num) var oRow = oTbl.insertRow(num); var oCell = oRow.insertCell(0); var oCell1 = oRow.insertCell(1); oCell.innerText += $('oname').value; oCell1.innerText += $('oage').value; } num++; } //这个是正则,提供给string.trim用的,需要去掉的字符var reg=/^( | )*|( | )*$/gi//去掉首尾的空格==========var arrDb = new Array(); function Dbclick(){ var oTbl = $('otbl'); for(var i=0;i<oTbl.rows.length;i++){ for(var j=0;j<oTbl.rows(i).cells.length;j++){ if(oTbl.rows(i).cells(j).innerText.trim().trim(reg)!="")//不为空 arrDb.push(encodeURI(oTbl.rows(i).cells(j).innerText));//==============编码一下 } } document.getElementById('hid').value = arrDb;//request.getParameter('hid')即可 alert(arrDb.length); alert(arrDb.toString())// } 你可以修改我给你的正则啊,我是把&bnsp;这种空白符号一起替换了,如果你要存储 的话,把正则修改下//你需要修改的是这个正则,要替换//var reg=/^( | )*|( | )*$/gi//去掉首尾的空格========== 这种空格也替换了//==>var reg=/^ *| *$/gi//去掉首尾的空格========== 又有个问题表里没有输入数据的时候 单击“更新到数据库”时,数据库也会自动增加一行 空白行 ?单击“reset” 时 数据库同样也会增加一行空白行 ??? 怎么回事啊 如何让弹出的iframe层完全透明,可以显示被遮盖的内容 jquery delay [Extjs]基于Extjs2.0日期时间(DateTime)控件的改良版本 这段JS代码在IE里正常FF不正常,怎么改 怎样用鼠标动态更改table中行的行高,类似frame框架 有这样一个小程序,求帮我写一下~+100 js操作iframe的问题 急急急 请教,这两个问题的解答?? 会不会很难????? 请问如何把这两个判断 放到一个if里去 css position: relative 定位问题 导航菜单问题
前面的代码在
如何添加动态table中的数据到数据库01?
http://topic.csdn.net/u/20080616/13/9256f13b-8151-4160-a72f-edb4137ce4cc.html
是个字符串,你在组合的时候可以用,连接,然后用split(",")来分割成数组
最近工作有点忙 白天上不了csdn...
但无论我用
String name1[]=(String[])request.getParameterValues("hid");
循环取值
还是用
String name1 = new String(request.getParameter("hid").getBytes("ISO-8859-1")).trim();
取字符
表里添加的数据都在一个单元格里面了
id1 id2
小王外省人 ,小王 NULL好像没有按循环去一个一个添加?
怎么回事啊?
这个显示的值是“ 1 ”;
长度始终是“1”;
估计接受的数据不是数组
而变成一个字符串了
该怎么办啊?
但split下
添加到数据库里面的数据变成了乱码?
怎么回事??
var oTbl = $('otbl');
//alert(oTbl.rows.length)
if(num < oTbl.rows.length){
oTbl.rows(num).cells(0).innerText = $('oname').value;
oTbl.rows(num).cells(1).innerText = $('oage').value;
}else{
alert(num)
var oRow = oTbl.insertRow(num);
var oCell = oRow.insertCell(0);
var oCell1 = oRow.insertCell(1);
oCell.innerText += $('oname').value;
oCell1.innerText += $('oage').value;
}
num++; }
var arrDb = new Array();
function Dbclick(){
var oTbl = $('otbl');
for(var i=0;i<oTbl.rows.length;i++){
for(var j=0;j<oTbl.rows(i).cells.length;j++){
arrDb.push(encodeURI(oTbl.rows(i).cells(j).innerText));//==============编码一下
}
}
document.getElementById('hid').value = arrDb;//request.getParameter('hid')即可
alert(arrDb.length);
alert(arrDb.toString())//
}
<INPUT TYPE="text" id='oname' value='小王'>
<INPUT TYPE="text" id='oage' value = '22'>
<INPUT TYPE="hidden" id="hid">//这是一个隐藏字段
<INPUT TYPE="button" value='提交' onclick="sub()">
<INPUT TYPE="button" value="更新到数据库" onclick='Dbclick()'>
<TABLE border='1'id='otbl'>
<TR>
<TD> </TD>
<TD> </TD>
</TR>
<TR>
<TD> </TD>
<TD> </TD>
</TR>
<TR>
<TD> </TD>
<TD> </TD>
</TR>
<TR>
<TD> </TD>
<TD> </TD>
</TR>
</TABLE>
</BODY>
</HTML>
现在只插入一条数据,初始化table表中多余的没有数据的行 也会成空白添加到数据库, 如:
id1 id1
1 小王 22
2 小王 22
3
4
3和4行就变成空白,再一次添加数据 ,就从第5行开始添加,
不知道怎样才能不添加空白行,
再一次添加数据 直接从第3行开始添加???
//给string类型添加一个原型trim
String.prototype.trim=function(reg){if(reg)return this.replace(reg,"");else return this.replace(/^\s*|\s*$/g,"");}
function sub(){
var oTbl = $('otbl');
//alert(oTbl.rows.length)
if(num < oTbl.rows.length){
oTbl.rows(num).cells(0).innerText = $('oname').value;
oTbl.rows(num).cells(1).innerText = $('oage').value;
}else{
alert(num)
var oRow = oTbl.insertRow(num);
var oCell = oRow.insertCell(0);
var oCell1 = oRow.insertCell(1);
oCell.innerText += $('oname').value;
oCell1.innerText += $('oage').value;
}
num++; } //这个是正则,提供给string.trim用的,需要去掉的字符
var reg=/^( | )*|( | )*$/gi//去掉首尾的空格==========
var arrDb = new Array();
function Dbclick(){
var oTbl = $('otbl');
for(var i=0;i<oTbl.rows.length;i++){
for(var j=0;j<oTbl.rows(i).cells.length;j++){
if(oTbl.rows(i).cells(j).innerText.trim().trim(reg)!="")//不为空
arrDb.push(encodeURI(oTbl.rows(i).cells(j).innerText));//==============编码一下
}
}
document.getElementById('hid').value = arrDb;//request.getParameter('hid')即可
alert(arrDb.length);
alert(arrDb.toString())//
}
//var reg=/^( | )*|( | )*$/gi//去掉首尾的空格========== 这种空格也替换了
//==>
var reg=/^ *| *$/gi//去掉首尾的空格==========
表里没有输入数据的时候
单击“更新到数据库”时,数据库也会自动增加一行 空白行 ?单击“reset” 时 数据库同样也会增加一行空白行 ?
?? 怎么回事啊