Solved

Apply same ajax in many drop menus in one Form

Posted on 2006-11-23
10
215 Views
Last Modified: 2010-04-01
Hi Experts,

I have a jsb page that has a table . This table are auto-generated according to the database records. For each row , I have ajax apply to its drop menu 1 and fill drop meun 2 and this ajax is applied to all table rows.

so, Can I pass the id of the drop menu (that I wish to fill) in ajax request to the Servlet . Then in my javaScript I get the id to fill the data on it?

for example,

var dropdown = document.getElementById("dropdown"+i);

and i should get it from the Servlet response ?
0
Comment
Question by:Sh_Rashed
  • 5
  • 4
10 Comments
 
LVL 5

Expert Comment

by:deeppra
ID: 18001626
could u explain me briefly
0
 
LVL 12

Expert Comment

by:enachemc
ID: 18001651
Of course you can. You can send any parameters to the request. It does not differ from any other request. Just the response differs.
0
 
LVL 5

Expert Comment

by:deeppra
ID: 18001661
0
 

Author Comment

by:Sh_Rashed
ID: 18001802
this is my form http://www.4img.com/ar/up/06/11/23/63a7769efbcc83107e5e385ccc6429de.jpg

all the rows int the form has index i from 0 to n (n = number of database records I retreive).

so When I select (in row number 0) ItemModel, the srial number will be displayed in the Serial Number drop box (in the same row 0).

But When I select (in row number 1) ItemModel, the serial number will be displayed in the serial Number drop box (in the row 0).

Because in the javaScript (that receive the response and fill the drop box ), will fill the dropbox that has id = "dropbox2". becuase it hard coded

as the following:

function writeSN(snXML){

var result = snXML;

array2 = result.split("#");

var dropdown = document.getElementById("dropdown2"); <------------- Here

dropdown.innerHTML = "";


for ( var I = 0 ; I < array2.length ; I++){


dropdown.options.add(new Option(array2[I],array2[I]));

}
}

I need to write the response in dropdown+i Where the i is the row number in the form ..

I hope that is clear explaination .. =)


any idea?
0
 
LVL 5

Accepted Solution

by:
deeppra earned 500 total points
ID: 18001839
okay fine... when any one selects the ItemModel then in the corresponding row Itemserialnumber should be populated thats what  u r question

thats easy... when the user select any option in the Itemmodel dropdown box then it will trigger a javascript function which is used to send request to the server when calling the function pass this as a parameter, then in the function u will get the name of the dropdown box like this

for eg:
<select name="itemmodel1" onChange="sendrequest(this)"><option>xxxx</option></select>

<script>
function sendrequest(element) {
alert(element.name) //this returns the name of the item so in our eg it will return "itemname1"
//So using that u can get the index of the item, use substring to get the index using that index u can pointout the //corresponding itemserialnumber

}

0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:Sh_Rashed
ID: 18002065
in my example.. as I understood .. i did the following:

function getSN(itemModel) {

var e = itemModel.name; <--- do u mean this ?

var req = newXMLHttpRequest();

 req.onreadystatechange = getReadyStateHandler(req,writeSN);
 
 req.open("POST", "cart.do", true);
 
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 
req.send("e"=itemModel); <-- and send it

}

but it gives me alert message: undefined.
0
 
LVL 5

Expert Comment

by:deeppra
ID: 18002091
your problem is to identify which row select box the user selects??
0
 

Author Comment

by:Sh_Rashed
ID: 18002161
yes
0
 
LVL 5

Expert Comment

by:deeppra
ID: 18002173
then that was the solution....
in the above posted code what is itemModel send me the html code where u call this function
0
 

Author Comment

by:Sh_Rashed
ID: 18002454
<%@page language="java" import="java.util.*,core.*"%>

<html>
    <head>
        <meta http-equiv="Content-Language" content="en-us">
<script type="text/javascript" language="javascript" src="ajax1.js"></script>
<script type="text/javascript" language="javascript" src="cart.js"></script>


<script language="JavaScript" type="text/JavaScript">

function checkAll(checked){

    for (var i = 0; i<document.issuing.elements.length; i++) {
         if ((document.issuing.elements[i].type == "checkbox")) {
                 document.issuing.elements[i].checked = checked;
         }
     }
}
</script>



    </head>
    <body>
        <p>&nbsp;</p>

<%


//String username = session.getAttribute("username");

%>
       

        <form method="POST" action="action.do">
            <input name = "action" type="hidden" value="IssueToEmployee">
            <p>Issue to Employee belong to: <select size="1" name="orgnization">
                <option>Court</option>
                <option>Public</option>
            </select> <input type="submit" value="View" name="B1"></p>
        </form>


        <%




            try {


                Vector result = new Vector();

                result = (Vector)request.getAttribute("result");

                Helper h = new Helper();

                Vector models = new Vector();

                if (result.isEmpty() ){

                    System.out.println("Herrrrrre");

                }

                else {


                    System.out.println(" result not empty");

        %>

      <form method="POST" name = "issuing"action="action.do">
      <table border="1" width="100%" id="table1">
            <tr>
                  <td>Index</td>
                  <td>Employee Username</td>
                  <td>Category</td>
                  <td>Item Model</td>
                  <td>Item Serial Number</td>
                  <td><input type="checkbox" name="chkallbox"  value="ON" onclick="checkAll(this.checked)"> </td>
            </tr>

            <%

                for (int i = 0; i <result.size();i++){

                            Request r = (Request)result.get(i);

                            models = h.getCatModel(r.getRequest());
                           
                            int index = i +1;
                           
            %>
           
           
           
                        <tr>
                        <td><input name = "i<%= i %>" type = "hidden" value = "<%= i %>"><%=index%></td>
                        <td><input name = "username<%= i %>" type = "hidden" value = "<%= r.getUsername() %>"><%= r.getUsername()%></td>
                        <td><input name = "request<%= i %>" type = "hidden" value = "<%= r.getRequest() %>"><%= r.getRequest()%></td>
                        <td><select size="1" name = "ItemModel<%=i%>" onchange= "getSN(this.options[this.selectedIndex].value)" >
                            <option> Select Item Model </option>
                           
 <%


    for (int c =0 ; c < models.size();c++){

                    Item ItemModel = (Item)models.get(c);
                   
                    System.out.println("This is Item Model:"+ItemModel.getItemModel());


%>
                         <option value ="<%= ItemModel.getItemModel() %>"><%= ItemModel.getItemModel() %></option>  
                           
                         <%

    }// end of for 2

%>
                  </select></td>
                        <td><select size="1" name="ItemSNs<%=i %>" id = "dropdown<%= i %>"> </select></td>
                  <td><input type="checkbox" name="issue" value="ON"></td>
            </tr>
               
               
           
            <%

                }// end of 1 for
                   
            %>
             </table>
              <p><input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>
        </form>
           
           
           
            <%

                    }// end of else

            }// end of try

                catch (Exception e){

                    System.out.println("Exception in Issue To employee"+e.getMessage());

                }// end of catch




        %>



    </body>
</html>
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
simple jsp servlet and webservice web example 5 113
password protect pdf 11 74
How to group array of objects ? 5 61
JSONSerializer.toJSON in JSP generating error 8 64
Microsoft Office Picture Manager was included in Office 2003, 2007, and 2010, but not in Office 2013. Users had hopes that it would be in Office 2016/Office 365, but it is not. Fortunately, the same zero-cost technique that works to install it with …
Scenario: Your operations manager has discovered an anomaly in your security system. The business will start to suffer within 15 minutes if it is a major IT incident. What should she do? We have 6 recommendations for managing major incidents (https:…
In this video I am going to show you how to back up and restore Office 365 mailboxes using CodeTwo Backup for Office 365. Learn more about the tool used in this video here: http://www.codetwo.com/backup-for-office-365/ (http://www.codetwo.com/ba…
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now