Hello,
Here is what I need:
I need the focus and the cursor set to a textbox named txtGT, every time no matter if it is the first page load or whether it is a postback.
Here is the problem:
I am using AJAX and MasterPages as well as an update panel, the textbox is in a panel. I have tried to do it using different java scripts but I can't get it to work because I am not using asp forms, instead I am using Containers.
Here is my code:
<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="infcontrol.aspx.vb" Inherits="orders_CutGroupAssign" title="eKanban Ordenes Especiales" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script language=javascript>
function setFocus(ctl) {
if (document.forms[0][ctl] != null)
document.forms[0][ctl].focus();
}
setFocus("txtGT")
</script>
<asp:UpdateProgress ID="UpdPrgInf" runat="server" AssociatedUpdatePanelID="UpdatePanel1"
DisplayAfter="1">
<ProgressTemplate>
<img src="../images/wait.gif" />
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel id="UpdatePanel1" runat="server">
<contenttemplate>
<asp:Label ID="lblTitleApp" runat="server" Font-Bold="True" Font-Size="Large" ForeColor="#FF8000"
Text="Control de Infladores"></asp:Label><br />
<asp:SqlDataSource id="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ReceivingDBConnectionString %>" SelectCommand="eK_IW_GetOpenOrders" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:SessionParameter DefaultValue="IRS" Name="PlantID" SessionField="Planta" Type="String" />
</SelectParameters>
</asp:SqlDataSource> <asp:Panel id="pnlStatus" runat="server" Height="30px" Width="645px" BackColor="#E0E0E0"><TABLE style="WIDTH: 640px"><TBODY><TR><TD style="HEIGHT: 18px; width: 178px; text-align: right;">
<asp:Label id="Label1" runat="server" Font-Size="10pt" Text="Ordenes Pendientes de Surtir: " Width="175px"></asp:Label></TD><TD style="HEIGHT: 18px; width: 225px; text-align: left;"> <asp:DropDownList id="cboOrders" runat="server" DataSourceID="SqlDataSource2" OnSelectedIndexChanged="cboOrders_SelectedIndexCha nged" AutoPostBack="True" DataTextField="Ordernumber" DataValueField="Ordernumber"></asp:DropDownList>
<asp:TextBox id="txtOrderScan" runat="server" AutoPostBack="True" OnTextChanged="txtOrderScan_TextChanged" Width="125px"></asp:TextBox></TD><TD style="HEIGHT: 18px; width: 78px; text-align: left;"> <asp:Label id="lblInvalidOrder" runat="server" Font-Bold="True" ForeColor="Red" Text="Orden Inválida" Visible="False"></asp:Label></TD><TD style="WIDTH: 29px; HEIGHT: 18px; text-align: right;"> <asp:Button id="btnCancelOrder" runat="server" Text="Cancelar Orden" Visible="False" OnClick="btnCancelOrder_Click"></asp:Button></TD></TR></TBODY></TABLE></asp:Panel> <BR /><asp:Label id="lblStatus" runat="server" Font-Bold="True" Font-Size="Medium" ForeColor="RoyalBlue" Width="568px" Text="Status Orden" Visible="False"></asp:Label><BR />
<asp:Panel id="pnlSupply" runat="server" Width="650px"><SPAN style="FONT-SIZE: 10pt">Especifique el numero de parte del material que va a surtir y la cantidad para esta orden:<BR /> </SPAN><TABLE style="WIDTH: 648px; HEIGHT: 1px"><TBODY><TR><TD style="VERTICAL-ALIGN: top; WIDTH: 70px; HEIGHT: 41px; TEXT-ALIGN: right">Número de parte</TD><TD style="VERTICAL-ALIGN: top; WIDTH: 159px; HEIGHT: 41px"><asp:TextBox id="txtPartNumber" runat="server" MaxLength="25"></asp:TextBox><BR /><asp:RegularExpressionValidator id="RegularExpressionValidator2" runat="server" Width="120px" ControlToValidate="txtPartNumber" ErrorMessage="Máximo 25 caracteres." ValidationExpression=".{0,25}" Display="Dynamic" Font-Bold="False"></asp:RegularExpressionValidator></TD><TD style="VERTICAL-ALIGN: top; WIDTH: 328px; HEIGHT: 41px"><asp:DropDownList id="cboPartNumber" runat="server" DataSourceID="SqlDataSource3" OnSelectedIndexChanged="cboPartNumber_SelectedInde xChanged" AutoPostBack="True" DataTextField="partnumber" DataValueField="partnumber"></asp:DropDownList> <asp:Label id="lblSelDescription" runat="server" Font-Bold="True" ForeColor="Blue" Width="184px"></asp:Label> <BR /><asp:RequiredFieldValidator id="RequiredFieldValidator3" runat="server" Width="176px" ControlToValidate="txtPartNumber" ErrorMessage="El número de parte es requerido." Font-Bold="False"></asp:RequiredFieldValidator></TD></TR><TR><TD style="VERTICAL-ALIGN: top; WIDTH: 70px; HEIGHT: 39px; TEXT-ALIGN: right">Cantidad</TD><TD style="VERTICAL-ALIGN: top; WIDTH: 159px; HEIGHT: 39px"><asp:TextBox id="txtQuantity" runat="server" Width="48px" MaxLength="7"></asp:TextBox> <asp:RangeValidator id="RangeValidator1" runat="server" Width="96px" ControlToValidate="txtQuantity" ErrorMessage="Cantidad inválida" Type="Double" MinimumValue=".01" MaximumValue="1000000" Font-Bold="False"></asp:RangeValidator><BR /><asp:RequiredFieldValidator id="RequiredFieldValidator5" runat="server" Width="144px" ControlToValidate="txtQuantity" ErrorMessage="Debe escribir una cantidad." Font-Bold="False"></asp:RequiredFieldValidator></TD><TD style="VERTICAL-ALIGN: top; WIDTH: 328px; HEIGHT: 39px; TEXT-ALIGN: left">
<asp:Label id="lblPartNotFound" runat="server" Font-Bold="True" Font-Size="Small" ForeColor="Red" Width="271px" Text="No se encontró el número de parte especificado." Visible="False"></asp:Label></TD></TR><TR><TD style="VERTICAL-ALIGN: top; WIDTH: 70px; HEIGHT: 36px; TEXT-ALIGN: right">
GT</TD><TD style="WIDTH: 159px; HEIGHT: 36px; vertical-align: top;">
<asp:TextBox ID="txtGT" runat="server" AutoPostBack="True" MaxLength="12" OnTextChanged="txtGT_TextChanged"></asp:TextBox><asp:RegularExpressionValidator
ID="GTValidator" runat="server" ControlToValidate="txtGT" Display="Dynamic" ErrorMessage="Máximo 12 caracteres."
ValidationExpression=".{0,12}" Width="120px" Font-Bold="False"></asp:RegularExpressionValidator></TD><TD style="WIDTH: 328px; HEIGHT: 36px"><asp:Button id="btnAddSupply" onclick="btnAddSupply_Click" runat="server" Text="Agregar"></asp:Button>
<asp:SqlDataSource id="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:ReceivingDBConnectionString %>" SelectCommand="eK_IW_GetOrderPNInfo" SelectCommandType="StoredProcedure"><SelectParamet ers>
<asp:ControlParameter PropertyName="SelectedValue" Type="String" Name="OrderNumber" ControlID="cboOrders"></asp:ControlParameter>
<asp:SessionParameter Name="PlantID" SessionField="Planta" Type="String" />
</SelectParameters>
</asp:SqlDataSource></TD></TR></TBODY></TABLE><asp:GridView id="grdSupply" runat="server" ForeColor="Black" DataSourceID="SqlDataSource4" PageSize="5" AllowSorting="True" DataKeyNames="OrderNumber,PartNumber" AutoGenerateColumns="False" GridLines="Vertical" CellPadding="3" BackColor="White" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" OnSelectedIndexChanged="grdSupply_SelectedIndexCha nged">
<FooterStyle BackColor="#CCCCCC"></FooterStyle>
<Columns>
<asp:CommandField ShowSelectButton="True" SelectText="Detalle" />
<asp:BoundField ReadOnly="True" DataField="OrderNumber" SortExpression="OrderNumber" HeaderText="Número de Orden"></asp:BoundField>
<asp:BoundField ReadOnly="True" DataField="PartNumber" SortExpression="PartNumber" HeaderText="Número de Parte"></asp:BoundField>
<asp:BoundField ReadOnly="True" DataField="description" SortExpression="description" HeaderText="Descripción"></asp:BoundField>
<asp:BoundField DataField="Quantity" SortExpression="Quantity" HeaderText="Cantidad Requerida"></asp:BoundField>
<asp:BoundField DataField="Supplied" SortExpression="Supplied" HeaderText="Cantidad Surtida"></asp:BoundField>
<asp:BoundField DataField="DateLastMaint" SortExpression="DateLastMaint" HeaderText="Fecha"></asp:BoundField>
</Columns>
<SelectedRowStyle BackColor="#804040" ForeColor="White" Font-Bold="True"></SelectedRowStyle>
<PagerStyle BackColor="Silver" ForeColor="Black" HorizontalAlign="Center"></PagerStyle>
<HeaderStyle BackColor="Black" ForeColor="White" Font-Bold="True"></HeaderStyle>
<AlternatingRowStyle BackColor="#E0E0E0"></AlternatingRowStyle>
</asp:GridView>
<br />
Detalle:<br />
<asp:GridView id="grdSupDetails" runat="server" ForeColor="Black" DataSourceID="sqlSupDetails" AutoGenerateDeleteButton="True" PageSize="5" AllowSorting="True" DataKeyNames="PartNumber,GTNumber,Quantity" AutoGenerateColumns="False" GridLines="Horizontal" CellPadding="4" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" OnSelectedIndexChanged="grdSupply_SelectedIndexCha nged" Width="376px">
<FooterStyle BackColor="#CCCC99" ForeColor="Black" />
<Columns>
<asp:BoundField DataField="PartNumber" HeaderText="Número de Parte" SortExpression="PartNumber" />
<asp:BoundField DataField="GTNumber" HeaderText="GreenTag" SortExpression="GTNumber" />
<asp:BoundField DataField="Quantity" HeaderText="Cantidad" SortExpression="Quantity" />
</Columns>
<SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
<HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
</asp:GridView>
<asp:SqlDataSource id="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:ReceivingDBConnectionString %>" SelectCommand="eK_IW_GetOrderInfoSupply" SelectCommandType="StoredProcedure" DeleteCommand="eK_IW_DelOrderSupply" DeleteCommandType="StoredProcedure"><DeleteParamet ers>
<asp:ControlParameter PropertyName="SelectedValue" Type="String" Name="OrderNumber" ControlID="grdSupply"></asp:ControlParameter>
<asp:ControlParameter PropertyName="SelectedValue" Type="String" Name="PartNumber" ControlID="grdSupply"></asp:ControlParameter>
<asp:SessionParameter Name="PlantID" SessionField="Planta" Type="String" />
<asp:SessionParameter Name="UserID" SessionField="username" Type="String" />
</DeleteParameters>
<SelectParameters>
<asp:ControlParameter ControlID="cboOrders" Name="OrderNumber" PropertyName="SelectedValue"
Type="String" />
<asp:SessionParameter Name="PlantID" SessionField="Planta" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="sqlSupDetails" runat="server" ConnectionString="<%$ ConnectionStrings:ReceivingDBConnectionString %>"
SelectCommand="eK_IW_GetOrderSuppDetails" SelectCommandType="StoredProcedure" DeleteCommand="eK_IW_DelOrderSupplyDetail" DeleteCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter ControlID="grdSupply" Name="OrderNumber" PropertyName="SelectedDataKey.Values[0]" Type="String" />
<asp:ControlParameter ControlID="grdSupply" Name="PartNumber" PropertyName="SelectedDataKey.Values[1]" Type="String" />
<asp:SessionParameter Name="PlantID" SessionField="Planta" Type="String" />
</SelectParameters>
<DeleteParameters>
<asp:ControlParameter ControlID="grdSupply" Name="OrderNumber" PropertyName="SelectedDataKey.Values[0]"
Type="String" />
<asp:SessionParameter Name="PlantID" SessionField="Planta" Type="String" />
<asp:ControlParameter ControlID="grdSupDetails" Name="PartNumber" PropertyName="SelectedDataKey.Values[0]"
Type="String" />
<asp:SessionParameter Name="UserID" SessionField="username" Type="String" />
<asp:ControlParameter ControlID="grdSupDetails" Name="GTNumber" PropertyName="SelectedDataKey.Values[1]"
Type="String" />
<asp:ControlParameter ControlID="grdSupDetails" Name="Quantity" PropertyName="SelectedDataKey.Values[2]"
Type="Double" />
</DeleteParameters>
</asp:SqlDataSource>
<BR /><asp:Button id="btnSupply" onclick="btnSupply_Click" runat="server" Text="Surtir Material"></asp:Button></asp:Panel> <BR /><BR /><BR /><asp:Panel style="DISPLAY: none; VERTICAL-ALIGN: middle; TEXT-ALIGN: center" id="pnlPopUpSupply" runat="server" Height="88px" Width="320px" BorderStyle="Double" BorderColor="Yellow" BackColor="White" Visible="true"><BR />¿Está seguro que desea surtir esta orden?<BR /><BR /><TABLE><TBODY><TR><TD style="WIDTH: 3px; HEIGHT: 26px"><asp:Button id="btnOkSupply" onclick="btnOkSupply_Click" runat="server" Text="Sí estoy seguro"></asp:Button></TD><TD style="WIDTH: 3px; HEIGHT: 26px"></TD><TD style="WIDTH: 3px; HEIGHT: 26px"><asp:Button id="btnCancelSupply" runat="server" Text="No, Regresar" UseSubmitBehavior="False" OnClick="btnCancelSupply_Click"></asp:Button></TD></TR></TBODY></TABLE></asp:Panel> <ajaxToolkit:ModalPopupExtender id="ModalPopupExtender2" runat="server" TargetControlID="btnSupply" PopupControlID="pnlPopUpSupply" BackgroundCssClass="modalBackground" DropShadow="true" CancelControlID="btnCancelSupply">
</ajaxToolkit:ModalPopupExtender> <BR /><asp:Panel style="DISPLAY: none; VERTICAL-ALIGN: middle; TEXT-ALIGN: center" id="pnlPopUpCancel" runat="server" Height="88px" Width="320px" BorderStyle="Double" BorderColor="Red" BackColor="White" Visible="true" CssClass="modalPopup"><BR />¿Está seguro que desea cancelar la orden?<BR /><BR /><TABLE><TBODY><TR><TD style="WIDTH: 3px; HEIGHT: 26px"><asp:Button id="btnOkCancelOrder" onclick="btnOkCancelOrder_Click" runat="server" Text="Sí estoy seguro"></asp:Button></TD><TD style="WIDTH: 3px; HEIGHT: 26px"></TD><TD style="WIDTH: 3px; HEIGHT: 26px"><asp:Button id="btnCancelCancelOrder" runat="server" Text="No, Regresar" UseSubmitBehavior="False"></asp:Button></TD></TR></TBODY></TABLE></asp:Panel> <ajaxToolkit:ModalPopupExtender id="ModalPopupExtender6" runat="server" TargetControlID="btnCancelOrder" PopupControlID="pnlPopUpCancel" BackgroundCssClass="modalBackground" DropShadow="true" CancelControlID="btnCancelCancelOrder">
</ajaxToolkit:ModalPopupExtender><BR /><BR /><asp:Timer id="timAutoUpdate" runat="server" Enabled="False" Interval="2500" OnTick="timAutoUpdate_Tick"></asp:Timer>
</contenttemplate>
</asp:UpdatePanel>
</asp:Content>