日期:2014-05-17  浏览次数:20439 次

请教imagebutton修改图片url的问题
写了个很简单的imagebutton,实现功能:
1. 点击后修改图片。比如点击前,imagebutton图片为‘.../Clickme.png',点击后图片为'.../ThankYouClicking.png'.
2. 触发后台一个方法;

现在用javascript去写,但是点击后并没有改变图片,请教大家问题处在哪里呢?谢谢!
<script type="text/javascript">
       function changeImage()
        {
         document.getElementById("ImageTestButton1").setAttribute("ImageUrl", "~/Images/ThankYouClicking.png");
         }
</script>

......
<asp:ImageButton ID="ImageTestButton1" runat="server" ImageUrl="~/Images/ClickMe.png" OnClick="ImageButton1_Click" OnClickClient="changeImage()"/>
        
javascript

------解决方案--------------------
 document.getElementById("#<%=ImageTestButton1.ClientID%>")
------解决方案--------------------
另外setAttribute方法应该是修改客户端的html。所以客户端并没有ImageUrl,而是src。这个你可以查看html源文件。由于ImageButton实际上就是一个submit,所以单纯这样设置还不行,实际上会提交两次。你可以通过别的按钮来控制ImageButton自己的图片。
附完整的例子:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script type="text/javascript">
        function $(id) {
            return document.getElementById(id);
        }
        window.onload = function () {
            var a = $("ImageTestButton1");
            a.setAttribute("src", "2.gif");
        };
        function change() {
            var a = $("ImageTestButton1");