i wrote a code in jsp to create dynamic table..the problem is i need data base connection when cursor moves from one cell to other...
eg...when i enter product id in the first cell, the product name and its rate should come in the next two cells...it should take from the data base...
it's my code........
[CODE=java]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
<%@ page import="java.sq l.*" %>
<%@ page import="java.io .*" %>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<script language="JavaS cript" type="text/javascript">
/*<![CDATA[*/
var i=1,j=0,k=0,tot =0,vat=0,totrow =0;
function Add(id){
var id1='ta'+i;
var id2='tb'+i;
var id3='tc'+i;
var id4='td'+i;
var id5='te'+i;
var table=document. getElementById( id);
var tbody=table.get ElementsByTagNa me('TBODY')[0];
var newrow=tbody.ap pendChild(table .rows[0].cloneNode(true ));
// newrow.getEleme ntsByTagName('S ELECT')[0].selectedIndex= 0; for combobox
newrow.getEleme ntsByTagName('I NPUT')[0].value='';
newrow.getEleme ntsByTagName('I NPUT')[0].id=id1;
newrow.getEleme ntsByTagName('I NPUT')[0].name=id1;
newrow.getEleme ntsByTagName('I NPUT')[1].value='';
newrow.getEleme ntsByTagName('I NPUT')[1].id=id2;
newrow.getEleme ntsByTagName('I NPUT')[1].name=id2;
newrow.getEleme ntsByTagName('I NPUT')[2].value='';
newrow.getEleme ntsByTagName('I NPUT')[2].id=id3;
newrow.getEleme ntsByTagName('I NPUT')[2].name=id3;
newrow.getEleme ntsByTagName('I NPUT')[3].value='';
newrow.getEleme ntsByTagName('I NPUT')[3].id=id4;
newrow.getEleme ntsByTagName('I NPUT')[3].name=id4;
newrow.getEleme ntsByTagName('I NPUT')[4].value='';
newrow.getEleme ntsByTagName('I NPUT')[4].id=id5;
newrow.getEleme ntsByTagName('I NPUT')[4].name=id5;
newrow.getEleme ntsByTagName('I NPUT')[5].checked=false;
i++;
}
function Remove(id,nme){
var table=document. getElementById( id);
var rows=table.rows ;
for (var remove=[],zxc0=0;zxc0<ro ws.length;zxc0+ +){
var cb=rows[zxc0].getElementsByT agName('INPUT')[5];
if (cb&&cb.name==n me&&cb.checked) {
remove.push(row s[zxc0]);
}
}
if (remove.length= =rows.length) return alert('U cant remove all rows');
for (var zxc1=0;zxc1<rem ove.length;zxc1 ++){
remove[zxc1].parentNode.rem oveChild(remove[zxc1]);
}
}
/*
function Remove(id){
var table=document. getElementById( id);
var rows=table.rows ;
for (var zxc0=0;zxc0<row s.length;zxc0++ ){
if (rows[zxc0].getElementsByT agName('INPUT')[5].checked){
rows[zxc0].parentNode.rem oveChild(rows[zxc0]);
zxc0--;
}
}
}
*/
function showText(tid,bi d)
{
var txt=document.ge tElementById(ti d);
var but=document.ge tElementById(bi d);
txt.type="textb ox";
but.type="butto n";
//but.onclick="hi deText()";
alert("Please Enter Purchase.Order. No and click OK");
}
function hideText(tid1,b id1)
{
var txt1=document.g etElementById(t id1);
var but1=document.g etElementById(b id1);
txt1.type="hidd en";
but1.type="hidd en";
}
function test(tt0)
{
var dd='ta'+j;
var ttxt0=document. getElementById( tt0);
var ttxt1=document. getElementById( dd);
var ppnam=ttxt1.val ue;
//var ppnam=ttxt1.val ue;
ttxt0.value=ppn am;
j++;
}
function test5(tt5)
{
var dd3='tc'+k;
var dd4='td'+k;
var ttxt5=document. getElementById( tt5);
var ttxt3=document. getElementById( dd3);
var ttxt4=document. getElementById( dd4);
var num2=ttxt4.valu e;
var num1=ttxt3.valu e;
var val=0;
val=parseFloat( num1) * parseFloat(num2 );
ttxt5.value=val ;
k++;
}
function cal(id)
{
var table=document. getElementById( id);
var rows=table.rows ;
for (var zxc0=0;zxc0<row s.length;zxc0++ )
{
//tot=tot+5;
tot=parseFloat( tot)+parseFloat ((rows[zxc0].getElementsByT agName('INPUT')[4].value));
totrow++;
}
vat=parseFloat( tot/12.5);
document.produc t.vate.value=va t;
document.produc t.total.value=p arseFloat(vat+t ot);
document.produc t.rcount.value= totrow;
vat=0;
tot=0;
totrow=0;
}
</script>
<body>
<form name="product" action="mynew.j sp" method="get">
<table id="head" border="1">
<tbody>
<tr><td colspan="50"><b > Produc t Id & nbsp;</b></td><td colspan="50"><b > Produc t Name   ; &n bsp;   ; &n bsp;   ; &n bsp;   ; &n bsp;   ; &n bsp; </b></td><td colspan="50"><b > Quantity &nb sp; </b></td><td colspan="30"><b > Rate&nbs p; & nbsp; &nbs p; & nbsp; &nbs p;</b></td><td colspan="30"><b > Value&nb sp; &nb sp; </font></b></td>
</tr>
</tbody>
</table>
<table id="tst" border="1">
<tbody>
<tr>
<td>
<input name="ta0" type="textbox" size="10" id="ta0"/>
<input name="tb0" type="textbox" size="30" id="tb0" onfocus="test(i d);"/>
<input name="tc0" type="textbox" size="10" id="tc0"/>
<input name="td0" type="textbox" size="10" id="td0"/>
<input name="te0" type="textbox" size="10" id="te0" onfocus="test5( id);" readonly/>
<input type="checkbox" name="bb[]" id="cbox"/></td>
</tr>
</tbody>
</table>
<input type="button" name="" value="Add" onclick="Add('t st');"/>
<input type="button" name="" value="Remove" onclick="Remove ('tst','bb[]');"/>
&nb sp; &nb sp;
<input name="txt1" type="hidden" id="textid" size="10"/>
<input name="" value="OK" type="hidden" id="buttonid" size="10" onclick="hideTe xt('textid','bu ttonid');"/>
&nb sp; &nb sp;
&nb sp; &nb sp;
&nb sp; &nb sp;
&nb sp; &nb sp;
&nb sp; &nb sp;
&nb sp; &nb sp;
<input type="button" value="calculat e" onclick="cal('t st');"/>
<br>
<br>
Vat:   ;
<input type="textbox" name="vate"/>
<br>
<br>
Total:
<input type="textbox" name="total"/>
<br>
<br>
<input type="button" name="" value="Edit" onclick="showTe xt('textid','bu ttonid');"/>
<input type="submit" name="" value="Save"/>
<br>
<br>
<input type="textbox" name="rcount"/>
<%
%>
<br>
<%
int count=0;
try { count = Integer.parseIn t(request.getPa rameter("rcount "));
}
catch (Throwable t) { }
String pid[]=new String[count];
String pnam[]=new String[count];
String qtyt[]=new String[count];
String rate[]=new String[count];
String value[]=new String[count];
String vatt=null,tot=n ull;
%>
<input type="textbox" name="rnum" value=<%=count% >>
</form>
</body>
</head>
</html>[/CODE]
eg...when i enter product id in the first cell, the product name and its rate should come in the next two cells...it should take from the data base...
it's my code........
[CODE=java]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
<%@ page import="java.sq l.*" %>
<%@ page import="java.io .*" %>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<script language="JavaS cript" type="text/javascript">
/*<![CDATA[*/
var i=1,j=0,k=0,tot =0,vat=0,totrow =0;
function Add(id){
var id1='ta'+i;
var id2='tb'+i;
var id3='tc'+i;
var id4='td'+i;
var id5='te'+i;
var table=document. getElementById( id);
var tbody=table.get ElementsByTagNa me('TBODY')[0];
var newrow=tbody.ap pendChild(table .rows[0].cloneNode(true ));
// newrow.getEleme ntsByTagName('S ELECT')[0].selectedIndex= 0; for combobox
newrow.getEleme ntsByTagName('I NPUT')[0].value='';
newrow.getEleme ntsByTagName('I NPUT')[0].id=id1;
newrow.getEleme ntsByTagName('I NPUT')[0].name=id1;
newrow.getEleme ntsByTagName('I NPUT')[1].value='';
newrow.getEleme ntsByTagName('I NPUT')[1].id=id2;
newrow.getEleme ntsByTagName('I NPUT')[1].name=id2;
newrow.getEleme ntsByTagName('I NPUT')[2].value='';
newrow.getEleme ntsByTagName('I NPUT')[2].id=id3;
newrow.getEleme ntsByTagName('I NPUT')[2].name=id3;
newrow.getEleme ntsByTagName('I NPUT')[3].value='';
newrow.getEleme ntsByTagName('I NPUT')[3].id=id4;
newrow.getEleme ntsByTagName('I NPUT')[3].name=id4;
newrow.getEleme ntsByTagName('I NPUT')[4].value='';
newrow.getEleme ntsByTagName('I NPUT')[4].id=id5;
newrow.getEleme ntsByTagName('I NPUT')[4].name=id5;
newrow.getEleme ntsByTagName('I NPUT')[5].checked=false;
i++;
}
function Remove(id,nme){
var table=document. getElementById( id);
var rows=table.rows ;
for (var remove=[],zxc0=0;zxc0<ro ws.length;zxc0+ +){
var cb=rows[zxc0].getElementsByT agName('INPUT')[5];
if (cb&&cb.name==n me&&cb.checked) {
remove.push(row s[zxc0]);
}
}
if (remove.length= =rows.length) return alert('U cant remove all rows');
for (var zxc1=0;zxc1<rem ove.length;zxc1 ++){
remove[zxc1].parentNode.rem oveChild(remove[zxc1]);
}
}
/*
function Remove(id){
var table=document. getElementById( id);
var rows=table.rows ;
for (var zxc0=0;zxc0<row s.length;zxc0++ ){
if (rows[zxc0].getElementsByT agName('INPUT')[5].checked){
rows[zxc0].parentNode.rem oveChild(rows[zxc0]);
zxc0--;
}
}
}
*/
function showText(tid,bi d)
{
var txt=document.ge tElementById(ti d);
var but=document.ge tElementById(bi d);
txt.type="textb ox";
but.type="butto n";
//but.onclick="hi deText()";
alert("Please Enter Purchase.Order. No and click OK");
}
function hideText(tid1,b id1)
{
var txt1=document.g etElementById(t id1);
var but1=document.g etElementById(b id1);
txt1.type="hidd en";
but1.type="hidd en";
}
function test(tt0)
{
var dd='ta'+j;
var ttxt0=document. getElementById( tt0);
var ttxt1=document. getElementById( dd);
var ppnam=ttxt1.val ue;
//var ppnam=ttxt1.val ue;
ttxt0.value=ppn am;
j++;
}
function test5(tt5)
{
var dd3='tc'+k;
var dd4='td'+k;
var ttxt5=document. getElementById( tt5);
var ttxt3=document. getElementById( dd3);
var ttxt4=document. getElementById( dd4);
var num2=ttxt4.valu e;
var num1=ttxt3.valu e;
var val=0;
val=parseFloat( num1) * parseFloat(num2 );
ttxt5.value=val ;
k++;
}
function cal(id)
{
var table=document. getElementById( id);
var rows=table.rows ;
for (var zxc0=0;zxc0<row s.length;zxc0++ )
{
//tot=tot+5;
tot=parseFloat( tot)+parseFloat ((rows[zxc0].getElementsByT agName('INPUT')[4].value));
totrow++;
}
vat=parseFloat( tot/12.5);
document.produc t.vate.value=va t;
document.produc t.total.value=p arseFloat(vat+t ot);
document.produc t.rcount.value= totrow;
vat=0;
tot=0;
totrow=0;
}
</script>
<body>
<form name="product" action="mynew.j sp" method="get">
<table id="head" border="1">
<tbody>
<tr><td colspan="50"><b > Produc t Id & nbsp;</b></td><td colspan="50"><b > Produc t Name   ; &n bsp;   ; &n bsp;   ; &n bsp;   ; &n bsp;   ; &n bsp; </b></td><td colspan="50"><b > Quantity &nb sp; </b></td><td colspan="30"><b > Rate&nbs p; & nbsp; &nbs p; & nbsp; &nbs p;</b></td><td colspan="30"><b > Value&nb sp; &nb sp; </font></b></td>
</tr>
</tbody>
</table>
<table id="tst" border="1">
<tbody>
<tr>
<td>
<input name="ta0" type="textbox" size="10" id="ta0"/>
<input name="tb0" type="textbox" size="30" id="tb0" onfocus="test(i d);"/>
<input name="tc0" type="textbox" size="10" id="tc0"/>
<input name="td0" type="textbox" size="10" id="td0"/>
<input name="te0" type="textbox" size="10" id="te0" onfocus="test5( id);" readonly/>
<input type="checkbox" name="bb[]" id="cbox"/></td>
</tr>
</tbody>
</table>
<input type="button" name="" value="Add" onclick="Add('t st');"/>
<input type="button" name="" value="Remove" onclick="Remove ('tst','bb[]');"/>
&nb sp; &nb sp;
<input name="txt1" type="hidden" id="textid" size="10"/>
<input name="" value="OK" type="hidden" id="buttonid" size="10" onclick="hideTe xt('textid','bu ttonid');"/>
&nb sp; &nb sp;
&nb sp; &nb sp;
&nb sp; &nb sp;
&nb sp; &nb sp;
&nb sp; &nb sp;
&nb sp; &nb sp;
<input type="button" value="calculat e" onclick="cal('t st');"/>
<br>
<br>
Vat:   ;
<input type="textbox" name="vate"/>
<br>
<br>
Total:
<input type="textbox" name="total"/>
<br>
<br>
<input type="button" name="" value="Edit" onclick="showTe xt('textid','bu ttonid');"/>
<input type="submit" name="" value="Save"/>
<br>
<br>
<input type="textbox" name="rcount"/>
<%
%>
<br>
<%
int count=0;
try { count = Integer.parseIn t(request.getPa rameter("rcount "));
}
catch (Throwable t) { }
String pid[]=new String[count];
String pnam[]=new String[count];
String qtyt[]=new String[count];
String rate[]=new String[count];
String value[]=new String[count];
String vatt=null,tot=n ull;
%>
<input type="textbox" name="rnum" value=<%=count% >>
</form>
</body>
</head>
</html>[/CODE]
Comment