【发布时间】:2015-07-31 09:43:05
【问题描述】:
我的 asp.net 文件中有 2 个按钮
<asp:Button ID="BTN_Send_LA" runat="server" Text="Save" OnClientClick="ConfirmSendData()"></asp:Button>
//The button the client will click
<asp:Button ID="UploadButton" runat="server" Text="" OnClick="BTN_Send_LA_Click"/>
//Dummy Button for the JS .click()
这是我的 Js 部分:
function ConfirmSendData() {
var r = confirm("Êtes vous bien: " + document.getElementById("<%=DDL_LaveurLA.ClientID%>").options[document.getElementById("<%=DDL_LaveurLA.ClientID%>").selectedIndex].text + " sinon veuillez changer dans le champ spécifié 'Laveur'");
if (r == true) {
var clickButton = document.getElementById("<%= UploadButton.ClientID %>");
clickButton.click();
//$('UploadButton').trigger('click'); TEST 1
//__doPostBack not working aswell
}
}
所以这里是我期望做的:
- 客户端点击第一个按钮(触发JS)=> Works
- R 为真 => 有效
- JS部分触发UploadButton的Onclick => Don't Work
我不明白为什么这种方法不起作用,因为它似乎是大多数其他答案在 StackOverflow 上采用的一般方法?
更新:
好的,我已经尝试了下面提出的所有解决方案,现在我遇到了奇怪的问题:
当我点击客户端按钮时,以下 3 件事中的 1 件随机发生(路由跟随调试器)
1:按钮单击执行空白回发(IsPostBack == true) 事件 OnClick="BTN_Send_LA_Click" 未触发
2:按钮单击执行空白回发(IsPostBack == false) 事件 OnClick="BTN_Send_LA_Click" 未触发
3:按钮正确触发虚拟按钮的 OnClick="BTN_Send_LA_Click" 事件。
我不明白为什么。当我直接点击虚拟按钮时,一切正常
每次我执行 CTRL+F5 时,我第一次单击客户端按钮时都会 100% 工作(触发事件)
其他:在我的事件 BTN_Send_LA_Click() 中,我更改了多个控件的背景颜色(浅绿色)
1:如果我点击虚拟按钮 => 控件的背景颜色会改变
2:如果我点击客户端按钮,即使 BTN_Send_LA_Click() 被触发,背景颜色也不会改变。
为什么?我完全迷失了这个
更新代码:
function ConfirmSendData()
{
/*
var dd = document.getElementById("<%=DDL_LaveurLA.ClientID%>");
var txt = dd.options[dd.selectedIndex].text;
var r = confirm("Êtes vous bien: " + txt + " sinon veuillez changer dans le champ spécifié 'Laveur'"); */
var r = confirm("Êtes vous bien: " + document.getElementById("<%=DDL_LaveurLA.ClientID%>").options[document.getElementById("<%=DDL_LaveurLA.ClientID%>").selectedIndex].text + " sinon veuillez changer dans le champ spécifié 'Laveur'");
if (r == true) {
//$("#<%=UploadButton.ClientID%>").click();
var clickButton = document.getElementById("<%= UploadButton.ClientID %>");
clickButton.click();
}
return false;
}
【问题讨论】:
-
你试过
$("#<%=UploadButton.ClientID%>").click();吗? -
欢迎来到 StackOverflow。请注意,通常问题都保持在相当专业的水平,因此您不会期望在问题中看到像
guyz这样的词。 -
哪一部分不起作用,获取元素还是触发点击事件? clickEvent 赋值后包含什么?
-
@aw04 触发事件随机发生(检查更新部分)
标签: javascript c# jquery asp.net ajax