Оповещение о щелчке с помощью javascript с Asp.Net

#javascript #asp.net #button #alert #html

#javascript #asp.net #кнопка #оповещение #HTML

Вопрос:

У меня есть Asp.Net кнопка и тег span, изображение которого у меня есть для этого. Теперь, когда я нажимаю на элемент 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
  

Ответ №1:

Для меня работает нормально. У вас нет внутреннего содержимого в вашем span, поэтому, возможно, именно поэтому он не может вызвать onclick, потому что он не занимает никакого места в вашем dom. Итак, когда вы думаете, что нажимаете на него, вы на самом деле не нажимаете на него, поскольку он не занимает никакого места.

Попробуйте добавить некоторый контент в промежуток, как в моем примере. Если это не работает, дважды проверьте, чтобы убедиться, что ваш идентификатор для кнопки правильный.

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

jsFiddle

Комментарии:

1. Спасибо, Гейб, я, возможно, с этим справлюсь, а также спасибо за предоставленный образец.

2. Вы правы! Если в пределах диапазона ничего нет, оно не запускается. Теперь это работает!