<script type="text/javascript">
    function count()
    {
    var i=document.getElementById("shopprice").value;
    var j=document.getElementById("countedit").value;
    var x=i*j;
    document.getElementById("total").value=x;
    }
    </script><asp:DataList ID="DataList9" runat="server" OnItemCommand="DataList9_ItemCommand">
  <HeaderTemplate> <table>  <tr>    <td>商品名称</td><td>单价</td><td>总价</td><td>数量</td>   </tr></HeaderTemplate>
     <ItemTemplate>    
        <tr><td>
        <asp:Label ID="shopname" runat="server" Text='<%#Eval("shopname") %>'></asp:Label> </td>
        <td><asp:Label ID="shopprice" runat="server" Text='<%#Eval("shopprice") %>'></asp:Label> </td>
        <td><asp:TextBox ID="countedit" runat="server" Text='<%#Eval("shopnum")%>' onblur="count();"></asp:TextBox> </td>
        <td><asp:label ID="total" runat="server" Text='<%#Eval("shopprice") %>'></asp:label></td>
        <td><asp:LinkButton ID="update" runat="server" CommandName="update" CommandArgument='<%#Eval("shopid") %>' Text="确认"></asp:LinkButton></td>
        <td><asp:LinkButton ID="delete" runat="server" CommandName="delete" Text="删除" CommandArgument='<%#Eval("shopid") %>'></asp:LinkButton></td> 
        </tr>
        </ItemTemplate>
        <FooterTemplate></table></FooterTemplate>
        </asp:DataList>想实现的是TextBOX里输入完数量之后,后面自动显示总价,但是我写的代码运行没有成功,不知道错误出在哪里,请教各位高手帮忙看一下,JAVASCRIPT不大熟悉,getElementById(" ")后的value点不出来是我自己写上去的

解决方案 »

  1.   

    document.getElementById("shopprice").value
    根本取不到对象,因为你的shopprice对象是在模板列内
    在后台绑定的时候把shopprice countedit total的clientID传给 count方法function count(shoppriceId, counteditId, totalId) 
      

  2.   

    取id用document.getElementById('<%= this.TextBox1.ClientID %>')这种
    Label值的写法不是value用innerHTML
      

  3.   

    不大明白啊,JAVACRIPT以前也没搞过,能给写个例子吗,谢了
      

  4.   

    <td> <asp:TextBox ID="countedit" runat="server" Text=' <%#Eval("shopnum")%>' onblur="count(this);"> </asp:TextBox> </td> <script type="text/javascript"> 
    function count(obj) 

    var a = obj.parentNode.previousSibling.childNodes[0];   // 取得shopprice
    var b = obj;
    var c = obj.parentNode.nextSibling.childNodes[0];       // total
    var i=parseFload(a.innerText); 
    var j=parseFload(obj.value);
    var x=i*j; 
    c.innerText=x; 

    </script>