2013-08-05 67 views
-2

我有兩個文本框,一個按鈕和網格視圖。如何插入文本框值使用javascript的gridview

我想要的很簡單,只要點擊按鈕,文本框中的值就會插入到網格視圖中。

我需要javascript爲這個b'cs我是新的JavaScript。

+0

添加一些代碼和標記你有 – vittore

+0

也檢查這篇文章,你不需要「複製」任何東西http://msdn.microsoft.com/en-us/library/ms972948.aspx – vittore

+0

如果你可以,添加關於正在工作和不工作的描述。這將幫助我們瞭解代碼的哪個部分可能會被破壞。 – Trendy

回答

0

這就是你需要的,不需要額外的js功能,使用CompareValidator。 模板字段應該具有EditItemTemplate中和(<%# Bind(...) %>)結合一些控制以在數據源

<asp:TemplateField HeaderText="Units In Stock"> 
    <EditItemTemplate> 
     <asp:TextBox ID="editUnitsInStock" Runat="server" 
      Text='<%# Bind("UnitsInStock") %>' Columns="4"></asp:TextBox> 
     <asp:CompareValidator ID="CompareValidator2" Runat="server" ErrorMessage="You must provide a valid integer for Units In Stock." 
      ControlToValidate="editUnitsInStock" 
      Operator="DataTypeCheck" Type="Integer">*</asp:CompareValidator> 
       </EditItemTemplate> 
+0

抱歉說,但我想要將腳本存儲到asp.net gridview中的文本框值...我想存儲數據到gridview客戶端,所以我需要javascript爲此。 –

+0

它應該持續嗎?如果是的話,你確實需要服務器端,否則GridView將不記得你剛剛入侵的值。 – vittore

0

請參考該代碼字段。這對你有幫助。

<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript"> 
    function copyTextValue(bf) { 
       if(bf.checked) 
         var text1 = document.getElementById("Name1").value; 
       else 
         text1=''; 
       document.getElementById("Name2").value = text1; 
       document.getElementById("Name3").value=text1; 

       } 
     </script> 
</head> 
<body> 


     <input type="checkbox" name="check1" onchange="copyTextValue(this);"/> 
<input id="Name1"><input id="Name2"><input id="Name3"> 


</body> 
</html> 
+0

抱歉說我已經知道這一點,但我想要將腳本存儲到asp.net gridview中的文本框值... –

1

上個週末,當幫助我的朋友在他的項目中,我需要在asp.net gridview上執行行級客戶端操作。首先,我搜索了一些與asp gridview類似的「excel公式」。當我找不到好的東西時,我決定用javascript來在單個gridview行上執行客戶端操作。

我的情況是發票生成,其中需要添加行(每個產品選擇一個)動態,然後執行一些計算,如顯示行明智總計。點擊添加按鈕下拉菜單中選擇的項目的新記錄(這是從服務器端代碼完成)。這裏用戶可以在任何文本框中輸入值。系統必須相應地更新Total Excessible Value欄中的值(見下圖)。

爲此,我編寫了兩個純javascript函數,並在onbox事件中調用了它們的文本框。下面是我使用的網格視圖和jQuery代碼。

(點擊放大)

GridView的,我所用的是以下:

<asp:GridView ID="gdvInvoiceItems" runat="server" AutoGenerateColumns="False" ShowHeader="true" 
     OnRowCommand="gdvInvoiceItems_RowCommand"> 
     <EmptyDataTemplate> 
      No items added yet. 
     EmptyDataTemplate> 
     <Columns> 
      <asp:TemplateField HeaderText="S No."> 
       <ItemTemplate> 
        <%# Container.DataItemIndex + 1 %> 
        <asp:HiddenField ID="hdnItemId" runat="server" Value='<%# Eval("Id") %>' /> 
       ItemTemplate> 
      asp:TemplateField> 
      <asp:TemplateField HeaderText="Description of Goods" ItemStyle-CssClass="description"> 
       <ItemTemplate> 
        <asp:TextBox ID="txtDescription" runat="server" Text='<%# Eval("Description") %>' 
         CssClass="txtDescStyle">asp:TextBox> 
       ItemTemplate> 
      asp:TemplateField> 
      <asp:TemplateField HeaderText="Quantity(Net)" ItemStyle-CssClass="quantity"> 
       <ItemTemplate> 
        <asp:TextBox ID="txtQuantity" runat="server" Text='<%# Eval("Quantity") %>' onchange="javascript:Multiply(this, this.value)">asp:TextBox> 
       ItemTemplate> 
      asp:TemplateField> 
      <asp:TemplateField HeaderText="Value Per Unit" ItemStyle-CssClass="value"> 
       <ItemTemplate> 
        <asp:TextBox ID="txtValue" runat="server" Text='<%# Eval("PerUnitValue") %>' onchange="javascript:Multiply(this, this.value)">asp:TextBox> 
       ItemTemplate> 
      asp:TemplateField> 
      <asp:TemplateField HeaderText="Total Exesible Value" ItemStyle-CssClass="exesiblevalue"> 
       <ItemTemplate> 
        <asp:TextBox ID="txtTotalExeValue" runat="server" Text='<%# Eval("Total") %>' CssClass="TotalExeValue">asp:TextBox> 
       ItemTemplate> 
      asp:TemplateField> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <asp:LinkButton ID="lnkBtnRemove" runat="server" Text="Remove" ItemStyle-CssClass="remove"> 
        asp:LinkButton> 
       ItemTemplate> 
      asp:TemplateField> 
     Columns> 
    asp:GridView> 
使用

JavaScript代碼:

<script type="text/javascript"> 
     //This method is called when quantity/cost textbox looses focus with some change in content 
     function Multiply(element, val) 
     { 
      var otherElementName = ''; 
      var finalElementName = ''; 

      //id of calling element i.e, quantity/cost textbox 
      var elementName = element.id; 

     //get second element, i.e., get quantity if change is in cost and vice-versa 
      if(endsWith(elementName, "txtQuantity")) 
      { 
       otherElementName = elementName.replace("txtQuantity", "txtValue"); 
      } 
      else if(endsWith(elementName, "txtValue")) 
      { 
       otherElementName = elementName.replace("txtValue", "txtQuantity"); 
      }  
      var otherElement = document.getElementById(otherElementName); 

      //get textbox where final value is to be displayed 
     finalElementName = elementName.replace("txtValue", "txtTotalExeValue")   
      var finalElement = document.getElementById(finalElementName); 
      finalElement.value = otherElement.value * val; 
     } 

     //checks if given string ends with given suffix 
     function endsWith(str, suffix) { 
     return str.indexOf(suffix, str.length - suffix.length) !== -1; 
    } 

    script> 

高亮行的onchange =「JavaScript的:乘法(這一點,這.value)「是做魔術的人。這個onchange事件不是以智能感知形式出現的,但它起作用。

相關問題