2011-02-09 4 views
0

Я разрабатываю приложение asp.net, где у меня есть страница контента, полученная на главной странице, и внутри страницы у меня есть элемент управления gridview, где у меня есть некоторые связанные поля и текстовое поле для оценки и вычислить оставшиеся. Я использую следующий код javascript.asp.net gridview textbox focus с помощью javascript

 <td colspan="4"> 
    <div id="divGrid" style="width: 890px; height: 200px; overflow: auto"> 
     <asp:GridView ID="CustomerGrid" runat="server" BackColor="White" AutoGenerateColumns="False" 
      BorderColor="#336666" BorderStyle="Double" BorderWidth="3px" CellPadding="4" 
      GridLines="Horizontal" Width="920px"> 
      <RowStyle BackColor="White" ForeColor="#333333" /> 
     <%-- <HeaderStyle CssClass="HeaderFreeze" />--%> 
      <Columns> 
       <asp:BoundField DataField="Ref_No" HeaderText="Deal/Transfer Ref # " > 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" Width="180px" ForeColor="Blue" Font-Bold="true" /> 
       </asp:BoundField> 
       <asp:BoundField DataField="Settlement_Date" HeaderText="Settlement Date" > 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 
       </asp:BoundField> 
       <asp:BoundField DataField="Settlement_Amount" HeaderText="Settlement Amt" > 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 
       </asp:BoundField> 
       <asp:BoundField DataField="Interest_Rate" HeaderText="Interest Rate" > 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 
       </asp:BoundField> 
       <asp:BoundField DataField="PDealerName" HeaderText="Primary Dealer" > 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 
       </asp:BoundField> 
       <asp:BoundField DataField="PD_Price" HeaderText="PD Price" > 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 
       </asp:BoundField> 

       <asp:TemplateField HeaderText="FaceValue"> 
       <ItemTemplate> 
        <asp:Label ID="LBLFaceValue" runat="server" Text='<%# Eval("Face_Value") %>'></asp:Label> 
       </ItemTemplate> 
       <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 
       </asp:TemplateField>     

      <%-- <asp:BoundField DataField="Face_Value" HeaderText="Face Value" > 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 
       </asp:BoundField>--%> 

       <asp:BoundField DataField="Available" HeaderText="Available" > 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 
       </asp:BoundField> 
       <asp:TemplateField HeaderText="Value"> 
       <ItemTemplate> 
        <asp:TextBox ID="txtValue" runat="server" Width="100px" onblur="CalculateTotals();"></asp:TextBox> 
       </ItemTemplate> 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 

       </asp:TemplateField> 
       <asp:TemplateField HeaderText="Remaining"> 
        <ItemTemplate> 
         <asp:Label ID="lblRemaining" runat="server" Text=""></asp:Label> 
        </ItemTemplate> 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 
       </asp:TemplateField> 
       <asp:BoundField DataField="Transaction_Type" HeaderText="T" Visible="false"> 
        <HeaderStyle Font-Names="Verdana" Font-Size="11px" /> 
        <ItemStyle Font-Names="Verdana" Font-Size="11px" /> 
       </asp:BoundField> 
      </Columns> 
      <FooterStyle BackColor="White" ForeColor="#333333" /> 
      <PagerStyle BackColor="#336666" ForeColor="White" HorizontalAlign="Center" /> 
      <SelectedRowStyle BackColor="#339966" Font-Bold="True" ForeColor="White" /> 
      <HeaderStyle BackColor="#336666" Font-Bold="True" ForeColor="White" /> 
     </asp:GridView> 
     </div> 
     &nbsp;</td> 
<script type="text/javascript"> 

function CalculateTotals() { 
    var gv = document.getElementById("<%= CustomerGrid.ClientID %>"); 
    var tb = gv.getElementsByTagName("input"); 
    var lb = gv.getElementsByTagName("span"); 

    var sub = 0; 
    var total = 0; 
    var indexQ = 1; 
    var indexP = 0; 

    for (var i = 0; i < tb.length; i++) { 
     if (tb[i].type == "text") { 
      sub = parseFloat(lb[indexP].innerHTML) - parseFloat(tb[i].value); 
      if (sub < 0) 
      { 
       alert("Exceeding from the face value..."); 
       return; 
       tb[i].focus(); 
       //return; 
      } 

      if (isNaN(sub)) { 
       lb[i + indexQ].innerHTML = ""; 
       sub = 0; 
      } 
      else { 
       lb[i + indexQ].innerHTML = sub; 
      } 

      indexQ++; 
      indexP = indexP + 2; 

      total += parseFloat(sub); 
     } 
    } 
} 

</script> 

Проблема заключается в том, что у меня есть условие, что входное значение не может превышать от лица Value..if превышает он показывает alert..I хочет показать ошибку и фокус должен вернуться к элементу управления текстового поля в том, что определенной строки. Каким-то образом его не настраивает фокус на управление текстовым полем конкретной строки.

просто проверьте область, где мне нужна модификация.

if (sub < 0) 
     { 
      alert("Exceeding from the face value..."); 
      return; 
      tb[i].focus(); 
      //return; 
     } 

Любые предложения?

ответ

1

Возврат до вызова фокуса. Фокус никогда не будет называться способом, которым в настоящее время является код.

alert("Exceeding from the face value..."); 
return; 
tb[i].focus(); 

Должно быть

alert("Exceeding from the face value..."); 
tb[i].focus(); 
return; 
+0

Darn..what в overlook..thanks Иосии :) – user239684

+0

@ user239684 - добро пожаловать! –

Смежные вопросы