【问题标题】:Span click alert using javascript with Asp.Net使用 javascript 和 Asp.Net 的跨度点击警报
【发布时间】:2011-11-10 17:38:39
【问题描述】:

我有一个 Asp.Net 按钮和一个跨度标签,我有它的图像。 现在,当我单击 span 元素(即图像)时,我应该能够自动单击我的按钮并收到警报。

我可以在按钮点击事件中使用如下所示的函数来实现,但我不知道点击元素时该怎么做。

CSS:

#container a span 
{
display:none; 
background-image:url(images/alert.png); 
background-repeat:no-repeat; 
width:16px; 
height:16px; 
position:absolute;
right:0px; 
top:0px;
} 

#container a:hover span 
{
display:block;
}

这是我在<a> 中的跨度:

    <div class='container a'><a href='#'>
    <img src='uploads/" + document.getElementById("currentDirectory").value + "/" 
    + file.name + "' width='64' height='64'/>
    <span onclick='document.getElementById('<%=btnAlert.ClientID%>').click();'>
    </span>
    </a>
    </div>";

这是我的简单 Asp.Net 按钮:

<asp:Button ID="btnAlert" runat="server" Text="Button" />

如果我使用 Javascript 函数,这是代码:

  Protected Sub btnAlert_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAlert.Click
     System.Web.UI.ScriptManager.RegisterClientScriptBlock(Page, GetType(Page), "Script", "Somefunction();", True)
End Sub

【问题讨论】:

    标签: javascript asp.net button alert html


    【解决方案1】:

    对我来说很好用。 您的跨度中没有内部内容,所以也许这就是它无法触发 onclick 的原因,因为它没有占用您的 dom 中的任何空间。因此,当您认为自己在点击它时,实际上并没有点击它,因为它不占用任何空间。

    尝试像我的示例一样在 span 中添加一些内容。 如果这不起作用,请仔细检查以确保您的 id 对于按钮是正确的。

    <input type="button" id="mybutton" onclick="alert('hello')">
    <span onclick="document.getElementById('mybutton').click()">My Span</span>
    

    jsFiddle

    【讨论】:

    • 感谢 Gabe,我可能会解决它,也感谢您提供的示例。
    • 你是对的!如果跨度内没有任何内容,则不会触发。现在开始工作!
    猜你喜欢
    • 2022-11-04
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 2019-03-15
    • 2010-11-12
    相关资源
    最近更新 更多