Как мне запустить событие клика на стороне сервера из JavaScript?
Я пробовал вот так:
document.getElementById("<%= ButtonID.ClientID %>").click();
Но бесполезно. Как я могу это сделать?
Как мне запустить событие клика на стороне сервера из JavaScript?
Я пробовал вот так:
document.getElementById("<%= ButtonID.ClientID %>").click();
Но бесполезно. Как я могу это сделать?
Вы можете просто поместить эту строку в функцию JavaScript:
__doPostBack('btnSubmit','OnClick');
Или сделайте что-нибудь вроде этого:
$('#btnSubmit').trigger('click');
Я использовал приведенный ниже код JavaScript, и он работает...
var clickButton = document.getElementById("<%= btnClearSession.ClientID %>");
clickButton.click();
var clickButton = document.getElementById("<%= btnClearSession.ClientID %>");
clickButton.click();
Это решение работает для меня, но помните, что он не будет работать, если ваша кнопка asp
Visible = "False"
Чтобы скрыть кнопку, которая должна быть запущена с помощью этого script, вы должны скрыть ее с помощью <div hidden></div>
Ни одно из решений, размещенных здесь, не будет работать для меня, это было мое возможное решение проблемы.
// In Server Side code
protected void Page_Load(object sender, EventArgs e)
{
Page.GetPostBackEventReference(hiddenButton);
}
// Javascript
function SetSaved() {
__doPostBack("<%= hiddenButton.UniqueID %>", "OnClick");
}
// ASP
<asp:Button ID="hiddenButton" runat="server" OnClick="btnSaveGroup_Click" Visible="false"/>
Я прожил эту проблему через два дня, и вдруг понял, что я использую этот метод click (для кнопки asp) в кнопке отправки (в кнопке html submit) javascript method...
Я имею в виду →
У меня есть кнопка отправки html и кнопка asp, подобная этим:
<input type="submit" value="Siparişi Gönder" onclick="SendEmail()" />
<asp:Button ID="sendEmailButton" runat="server" Text="Gönder" OnClick="SendToEmail" Visible="True"></asp:Button>
Вы можете заполнить скрытое поле из своего кода JavaScript и выполнить явный возврат из JavaScript. Затем со стороны сервера проверьте это скрытое поле и сделайте все необходимое.
document.FormName.btnSubmit.click();
работает для меня. Наслаждайтесь.
$("#"+document.getElementById("<%= ButtonID.ClientID %>")).trigger("click");
Я могу заставить все работать так:
внутри javascript-соединения, которое выполняется кнопкой html:
document.getElementById("<%= Button2.ClientID %>").click();
Кнопка ASP внутри div:
<div id="submitBtn" style="display: none;">
<asp:Button ID="Button2" runat="server" Text="Submit" ValidationGroup="AllValidators" OnClick="Button2_Click" />
</div>
Все выполняется из файла .cs, за исключением того, что приведенный ниже код не выполняется. Нет окна сообщений и перенаправление на ту же страницу (обновите все поля):
int count = cmd.ExecuteNonQuery();
if (count > 0)
{
cmd2.CommandText = insertSuperRoster;
cmd2.Connection = con;
cmd2.ExecuteNonQuery();
string url = "VaccineRefusal.aspx";
ClientScript.RegisterStartupScript(this.GetType(), "callfunction", "alert('Data Inserted Successfully!');window.location.href = '" + url + "';", true);
}
Любые идеи, почему эти строки не будут выполняться?