Solved

Get Listview SelectedItem from JavaScript

Posted on 2009-04-05
3
4,283 Views
Last Modified: 2012-05-06
Hi,

How do I get the current ListView item in JavaScript?

I have a listview and wish to do validation and and additional data lookup when a user exits various fields contained within the listview item.  But I cannot figure out how to determine which listview item is the current one being edited.  The code sample below illustrates what I am attempting to accomplish, however the javascript only works for inserts or if the item being edited is the last item in the listview.  Of course the problem is when a user attempts to edit an item other than the last one this code will not work properly.

Thanks!
<asp:ListView ID="ListView1">
       <EditItemTemplate>
            <table style="border-bottom: 1px outset #ffffff">
                <tr>
                <td>
                    <asp:TextBox ID="Place_of_Service" runat="server" 
                        style="color:#000000; text-align:center;border: #000000 solid 1px;" 
                        Text='<%# Bind("[Place of Service]") %>' onblur="javascript:POS_OnBlur();" />
                </td>
                <td>
                    <asp:TextBox ID="Type_of_Service" runat="server"
                        style="color:#000000; text-align:center;border: #000000 solid 1px;"  
                        Text='<%# Bind("[Type of Service]") %>' onblur="javascript:TOS_OnBlur();"/>
                </td>
                <td>
                    <asp:Button ID="UpdateButton" runat="server" CommandName="Update" 
                        Text="Update" />
                    <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                        Text="Cancel" />
                </td>
            </tr>
            </table>
        </EditItemTemplate>
        <InsertItemTemplate>
                <table>
                <tr>
                <td>
                    <asp:TextBox ID="Place_of_Service" runat="server" 
                        style="color:#000000; text-align:center;border: #000000 solid 1px;" 
                        Text='<%# Bind("[Place of Service]") %>' onblur="javascript:POS_OnBlur();" />
                </td>
                <td>
                    <asp:TextBox ID="Type_of_Service" runat="server"
                        style="color:#000000; text-align:center;border: #000000 solid 1px;"  
                        Text='<%# Bind("[Type of Service]") %>' onblur="javascript:TOS_OnBlur();"/>
                </td>
                <td>
                    <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
                        Text="Insert" />
                    <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                        Text="Clear" />
                </td>
            </tr>
            </table>
        </InsertItemTemplate>
</asp:ListView>
 
 
javascipt:
 
function TOS_OnBlur() {
    var tbl = document.getElementById("InputFormMaster_BodyContent_ListView1_Table2");
    var intRow = tbl.rows.length - 2;
    var ctl = "InputFormMaster$BodyContent$ListView1$ctrl" + intRow + "$Type_of_Service";
 
    if (document.getElementById(ctl).value != "") {
        var e = document.getElementById(ctl).value;
        
        if (e.toUpperCase == "UC")
            document.getElementById(ctl).value = e.toUpperCase();
        if (isNaN(e) == false) {
            if (e.length == 1)
                document.getElementById(ctl).value = "0" + e;
        }
        
        ValidationService.IsValidTOS(document.getElementById(ctl).value, IsValidTOS_Complete, ErrorHandler);
    }
 
}

Open in new window

0
Comment
Question by:TerryDean
  • 2
3 Comments
 
LVL 20

Expert Comment

by:informaniac
ID: 24072534
Change the function to this

onblur="javascript:TOS_OnBlur(this.id);"

function TOS_OnBlur(id) {
var ctl = id;
}
0
 
LVL 20

Accepted Solution

by:
informaniac earned 500 total points
ID: 24072539
Change the function to this

onblur="javascript:TOS_OnBlur(this.id);"

function TOS_OnBlur(id) {
var ctl = id;
}
0
 

Author Closing Comment

by:TerryDean
ID: 31566800
Thanks, works perfectly!
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Suggested Solutions

A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
Introduction HyperText Transfer Protocol (http://www.ietf.org/rfc/rfc2616.txt) or "HTTP" is the underpinning of internet communication.  As a teacher of web development I have heard many questions, mostly from my younger students who have come to t…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

840 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