I have anchor tag inside a gridview which im using javascript onclick to popup a new window. It all work the way as expected except that when the window popups if make the parent page do an autopostback. I have researched this but cant find why this is happening or how to fix it. Here is my code below, first is my grid and second is the javacsript function.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
AllowSorting="True" AllowPaging="True" PageSize="20" BackColor="White"
BorderColor="#003366" BorderStyle="None" BorderWidth="1px" CellPadding="3"
GridLines="Vertical" Font-Names="Verdana" Font-Size="Small">
<AlternatingRowStyle BackColor="#D9ECFF" BorderColor="#003366" />
<Columns>
<asp:TemplateField HeaderText="SELECT">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<a href="#" onclick="clickMe('<%# Eval("ICAO") %>')" target="_top">Test</a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ICAO" HeaderText="ICAO" SortExpression="ICAO" />
<asp:BoundField DataField="IATA" HeaderText="IATA" SortExpression="IATA" />
<asp:BoundField DataField="AIRPORT_NAME" HeaderText="AIRPORT NAME" SortExpression="AIRPORT_NAME" />
<asp:BoundField DataField="CITY" HeaderText="CITY" SortExpression="CITY" />
<asp:BoundField DataField="COUNTRY" HeaderText="COUNTRY" SortExpression="COUNTRY" />
<asp:BoundField DataField="REVISED_DATE" HeaderText="REVISED DATE" SortExpression="REVISED_DATE" />
<asp:BoundField DataField="EMAIL_DATE" HeaderText="EMAIL DATE" SortExpression="EMAIL_DATE" />
</Columns>
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
<HeaderStyle BackColor="#465c71" Font-Bold="True" ForeColor="#F7F7F7" />
<PagerSettings FirstPageText="First" LastPageText="Last"
Mode="NextPreviousFirstLast" NextPageText="Next" Position="Top"
PreviousPageText="Previous" />
<PagerStyle BackColor="#F7F7F7" ForeColor="#465c71" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F7F7" ForeColor="#4A3C8C" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
<SortedAscendingCellStyle BackColor="#F4F4FD" />
<SortedAscendingHeaderStyle BackColor="#5A4C9D" />
<SortedDescendingCellStyle BackColor="#D8D8F0" />
<SortedDescendingHeaderStyle BackColor="#3E3277" />
</asp:GridView>
<script language="javascript" type="text/javascript">
function clickMe(icao) {
targetUrl = "login.aspx?icao=" + icao
window.open(targetUrl, 'Rep_Search', 'toolbar=no, directories=no,
location=no,status=yes, menubar=no, resizable=no, scrollbars=yes, height=300,
width=400'); return false;
}
</script>
Your “onclick” attribute should say
onclick='return clickMe( ... )'. Your handler is returningfalse, but that code in the attribute is basically the real handler, and it doesn’t have areturnat all.Also, just as some advice, it’s kind-of a good idea to post as little code as possible. It makes it easier for people to scan the question and look for simple issues. Of course, narrowing down the code too much is not good, because it’s so easy to make mistaken assumptions about what’s causing your problems.