want data base connection in focus lost of a textbox in the table

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • rakeshnair
    New Member
    • Sep 2008
    • 1

    want data base connection in focus lost of a textbox in the table

    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 >&nbsp;Produc t Id&nbsp;&nbsp;& nbsp;</b></td><td colspan="50"><b >&nbsp;Produc t Name&nbsp;&nbsp ;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp ;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp ;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp ;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp ;&nbsp;&nbsp;&n bsp;&nbsp;</b></td><td colspan="50"><b >&nbsp;Quantity &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;</b></td><td colspan="30"><b >&nbsp;Rate&nbs p;&nbsp;&nbsp;& nbsp;&nbsp;&nbs p;&nbsp;&nbsp;& nbsp;&nbsp;&nbs p;</b></td><td colspan="30"><b >&nbsp;Value&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp; </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[]');"/>
    &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;&nb sp;&nbsp;
    <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');"/>
    &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;
    &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;
    &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;
    &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;
    &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;
    &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;&nb sp;&nbsp;&nbsp; &nbsp;&nbsp;

    <input type="button" value="calculat e" onclick="cal('t st');"/>
    <br>
    <br>
    Vat:&nbsp;&nbsp ;
    <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]
    Last edited by r035198x; Sep 23 '08, 06:36 AM. Reason: Added code tags
  • r035198x
    MVP
    • Sep 2006
    • 13225

    #2
    Please use code tags when posting code.
    What you need is usually done using AJAX these days.

    Comment

    Working...