2013-06-22 7 views
2

Я следующий источник в ASPX:Назвав button.click() событие из JavaScript не срабатывают

<div> 
    <asp:HiddenField ID="hidValue" runat="server" /> 
    <asp:Button runat="server" ID="hidButton" OnClick="hidButton_Click" /> 
    <script type="text/javascript"> 
     function ExtendPanel(PanelNumber) { 
      var hidValue = document.getElementById('<%=hidValue.ClientID %>'); 
      hidValue.value = PanelNumber; 

      document.getElementById('<%=hidButton.ClientID%>').fireEvent("onclick"); 
     } 
    </script> 
</div> 

В моем коде позади, я следующий C# функция объявлена:

protected void hidButton_Click(object sender, EventArgs e) 
{ 
    int PanelNumber = int.Parse(hidValue.Value); 
    ... do something with PanelNumber ... 
} 

Когда я нажимаю на кнопку с помощью мыши, функция «hidButton_Click» обычно выполняется. Однако, когда функция jenscript ExtendPanel (PanelNumber) выполнена, событие click кажется запущенным, но функция не выполняется.

+1

fireEvent не работает в IE9 или выше. Почему бы просто не щелкнуть? 'document.getElementById ('<% = hidButton.ClientID%>'). click();' – nmat

+0

Я пробовал это. Он по-прежнему не выполняет событие click. – matchbox

ответ

4

Заменить этот

document.getElementById('<%=hidButton.ClientID%>').fireEvent("onclick"); 

с

__doPostBack('hidButton','OnClick'); 
+0

Нет, это не делает трюк. Я использую тот же принцип на других страницах в моем проекте, и они отлично работают. – matchbox

+0

вы также можете использовать этот код .. var clickButton = document.getElementById ("<% = hidButton.ClientID%>"); clickButton.click(); – Raghubar

+0

Я тоже пробовал. Не делает трюк – matchbox

1

попробовать этот

document.getElementById('<%=hidButton.ClientID%>').click(); 
0

Попробуйте это ниже

$('#<%=hidButton.ClientID%>').click(); 
0

Я получил те же проблемы и решил поставить

OnClientClick = "javascript: return true;"