2013-08-05 37 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事件不是以智能感知形式出现的,但它起作用。

相关问题