【问题标题】:Javascript Confirmation On if..else.. conditionJavascript 确认在 if..else.. 条件下
【发布时间】:2013-12-22 10:22:40
【问题描述】:

我必须在特定条件下显示确认对话框。然后根据 YES 或 No clicked 进行。我尝试了以下操作。

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

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

谁能帮我做这件事?

提前致谢。

【问题讨论】:

    标签: c# javascript asp.net confirm


    【解决方案1】:

    试试看 你需要ClientID

    document.getElementById('<%=hdn_empname.ClientID%>').value = 1;
    

    我发现了你的主要问题

    隐藏字段值将在 if 条件调用之后分配。

    编辑:

    所以,你需要使用 ajax 在 javascript 端调用你的逻辑

    if (confirm("Employee Introduced already.Continue?") == true) {
    
    //some code to execute
        }
    

    【讨论】:

    • 那么我应该在哪里赋值呢?
    • Alborz 已经说过了:最好在 onClientClick of you 按钮上设置 ShowConfirmation 功能
    【解决方案2】:

    你的断点在哪里?如果 reader2.HasRows 返回 true,您的 javascript 将被注册。但它在客户端上设置了值,您在回发后得到结果。

    【讨论】:

    • 上面的代码(有问题)在按钮点击下。我在按钮点击中设置了断点。
    • 正如我上面解释的那样,脚本已注册到客户端,并且在下一个帖子中该值将是 eq 1。我认为最好在按钮的 onClientClick 上设置 ShowConfirmation 功能。
    • 好的.. 但我只需要在特定条件下进行确认
    • 可能条件可以在 ShowConfirmation 函数中处理。但是如果需要在服务器端处理条件则不能这样处理。我建议您使用 ajax 调用来处理条件并显示确认模式。
    【解决方案3】:

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

    【讨论】:

    • 不,这不适合我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    相关资源
    最近更新 更多