我必须在特定条件下显示确认对话。然后根据是或否点击进行。我尝试了以下内容。
在aspx中:
<script type="text/javascript">
function ShowConfirmation() {
if (confirm("Employee Introduced already.Continue?") == true) {
document.getElementById("hdn_empname").value = 1;
}
}
</script>
<asp:HiddenField ID="hdn_empname" runat="server" />
in cs:
if (reader2.HasRows)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "showAl", "ShowConfirmation();", true);
}
else
{
hdn_empname.Value ="1";
}
if ((hdn_empname.Value)=="1")
{
//some code to execute
}
但hdn_empname
在展示时显示value=""
。
任何人都可以帮我这样做吗?
提前致谢。
答案 0 :(得分:3)
试试吧
您需要ClientID
document.getElementById('<%=hdn_empname.ClientID%>').value = 1;
我发现了你的主要问题
隐藏字段值将在if条件调用之后分配。
修改:
所以,你需要使用ajax
在javascript端调用你的逻辑if (confirm("Employee Introduced already.Continue?") == true) {
//some code to execute
}
答案 1 :(得分:1)
你的破发点在哪里?如果reader2.HasRows返回true,则您的javascript将被注册。但它在客户端上设置了值,并在回发后得到结果。
答案 2 :(得分:1)
hdn_empname
是服务器控件ID,它与客户端ID不同,要获取客户端ID,您需要使用ClientID
试试这个:
document.getElementById('<%=hdn_empname.ClientID%>').value = "1";
你不需要比较
if (confirm("Employee Introduced already.Continue?") == true)
这将有效:
if (confirm("Employee Introduced already.Continue?"))