Javascript确认在if..else ..条件

时间:2013-12-22 10:22:41

标签: c# javascript asp.net confirm

我必须在特定条件下显示确认对话。然后根据是或否点击进行。我尝试了以下内容。

在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=""

任何人都可以帮我这样做吗?

提前致谢。

3 个答案:

答案 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?"))