【问题标题】:Ajax function to validate on click of a button:用于验证单击按钮的 Ajax 函数:
【发布时间】:2013-02-14 06:25:36
【问题描述】:

在我的页面中,我有一个 下拉
面板1
面板2
按钮移动下一个
显示 Panel1 中下拉数据的 onclick。面板 2 显示之前选择的数据。


当没有选择indropdown Panel1 设置为不可见时。

现在,如果在 dropdown.onclick 按钮中没有选择任何内容,我希望显示一条警报消息
“请选择 panel1 的数据,然后移动下一个”
早些时候,我使用 javascript 函数和 Next 按钮上的自定义验证函数来完成此操作。但现在我想升级 它到 Ajax。

Javascript 代码:

   function Validate(sender, args)
    {
            if (document.getElementById("ctl00_rightContainer_ContentTable1_Panel1").style.display == 'none') {
                args.IsValid = false;
            }
            else {
                args.IsValid = true;
            }

    }


但是在尝试了 ajax 函数后,我使用了可见属性,因此我在 javascript 中收到一个错误,说对象未找到,因为加载时 Panel1 是不可见的。我已经将我的休息功能升级到 ajax,但我不知道我应该这样做。

【问题讨论】:

  • 你试过了吗?
  • @ChamikaSandamal 我已经编辑了我的问题,请看一下

标签: c# asp.net ajax asp.net-ajax


【解决方案1】:

如果 AJAX 是指 Asp.net 更新面板,那么它很容易,但我不喜欢它。

将面板放在 UpdatePanels 中

别忘了在顶部添加 ScriptManager:

<asp:ScriptManager runat="server" id="sc1"/>

<asp:UpdatePanel ID="up1" runat="server">
</asp:UpdatePanel>

对于下拉菜单,将 AutoPostBack 设置为 true。

下拉菜单将有一个 selectedIndex 并在 selectedindex 中检查验证并显示下一个面板或消息

你可以这样显示消息:

在标签中

警报或一些 jQuery 弹出窗口

ScriptManager.RegisterStartUpScript(this.Page , typeof(Page) , "alertV" , "alert('Errors');" , true);

【讨论】:

    【解决方案2】:

    如果您将服务器控件的Visible 属性设置为false,它将根本不会呈现,并且您无法从客户端代码中显示它。尝试改为设置style="display:none;"。这种方式面板将被渲染但不显示在页面上,您可以通过 JavaScript 显示它。

    【讨论】:

      猜你喜欢
      • 2017-04-21
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多