Solved

Get Listview SelectedItem from JavaScript

Posted on 2009-04-05
3
4,225 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
Comment Utility
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
Comment Utility
Change the function to this

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

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

Author Closing Comment

by:TerryDean
Comment Utility
Thanks, works perfectly!
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

728 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

14 Experts available now in Live!

Get 1:1 Help Now