想要在客户端单击时使用javascript更改ImageButton的图像源
Want to change image src of ImageButton using javascript on client click
我先尝试了这个不起作用:
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="minus.gif" OnClientClick="this.src='plus.gif';"/>
另一种方法:
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="minus.gif" OnClientClick=" return changeImg(this)"/>
function changeImg(cnt)
{
if(cnt.src='minus.gif')
{
cnt.src='plus.gif';
}
else
{
if(cnt.src='plus.gif')
{
cnt.src='minus.gif';
}
}
return false;
}
</script>
这里的问题是,在客户端单击时,您不会返回 false,而是在代码隐藏时触发 onlick。只需返回 false; 以避免回发,你会得到你尝试的。
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="minus.gif" OnClientClick="this.src='plus.gif';return false;"/>
更新
在代码上键入 if(cnt.src='plus.gif')
,但必须键入 ==
,而不是=
为了避免这种类型的错误,最好将常量放在第一位,例如类型
if('plus.gif' == cnt.src)
和最终代码
function changeImg(cnt)
{
if(endsWith(cnt.src, 'minus.gif'))
{
cnt.src='plus.gif';
}
else if(endsWith(cnt.src, 'plus.gif'))
{
cnt.src='minus.gif';
}
// to avoid post back return false
return false;
}
function endsWith(str, suffix) {
return str.indexOf(suffix, str.length - suffix.length) !== -1;
}
relative : endsWith in JavaScript
以下内容应该有效
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="minus.gif" onClick="function(){this.setAttribute("src", 'plus.gif');}"/>
相关文章:
- 如何用另一个Javascript更改Javascript函数值
- 若单击按钮,则更改Javascript中的变量
- 使用JavaScript更改JavaScript内容
- 使用按钮更改javascript变量
- 如何在不保存到其他变量的情况下更改JavaScript中的值
- 如何更改javascript对象的颜色
- 更改Javascript cookie重定向
- Visual Studio 2012:更改javascript注释样式
- 使用函数更改Javascript变量
- 更改javascript中的css动画
- 可以't通过DOM更改javascript中的段落文本
- 更改javascript中的tab键行为
- 随时更改JavaScript函数
- 您可以更改javascript确认上的按钮标题吗
- 如何使用If语句更改JavaScript变量的值
- 是否有任何内置方法可以更改JavaScript对象'的属性设置为某个值
- 如何在不更改Javascript页面的情况下访问用户输入的电子邮件
- 不便更改Javascript中的按钮文本
- 如何更改javascript的一个变量,然后运行;“加载”;而无需重新加载页面
- Css 属性不会更改(javascript)