我可以在Javascript函数中重置必需字段验证器的验证吗?

时间:2015-06-15 19:21:13

标签: javascript c# jquery asp.net

- 我有一个aspx页面,它有几个必需的字段验证器。

- 用户点击“保存”按钮后页面验证失败,除了填写字段外,您无法再在页面上执行任何操作。

- 三个字段被禁用,并通过单击运行javascript函数的按钮来填充,该函数打开一个弹出窗口,用户选择一个人并返回该人的id。 javascript函数触发填充字段的服务器端事件。

问题是触发器永远不会被触发,因为页面无效。

当用户点击按钮时,有没有办法重置验证?

- javascript函数会触发并打开弹出窗口,但失败页面上的触发器将无效。

我已经尝试过的事情:

  1. 在javascript函数中进行回发 - 页面不回发
  2. CausesValidation =“false” - 不起作用
  3. Page_BlockSubmit = false - 无效
  4. Page_IsValid = true - 无效 javascript函数如下:

    function OpenStudentPopup(pDistrictId) {        
         var modal = PopupContainer.createPopup('modal');
         var pc = new PopupContainer(modal, {
            src: '/pages/popup/SearchPerson.aspx?id=' + pDistrictId,
            showConfirmationWhenClosing: true,
            close: function (pData) {
                $("#hdnChild").val(pData);
                var sse = new ServerSideEvent('tgrChild');
                sse.fire();
            }
        });
    }
    

1 个答案:

答案 0 :(得分:0)

终于找到了答案。 在我的Javascript函数中,我添加了以下代码:     Page_ValidationActive = false; 这允许触发触发器并重置整个页面,直到用户再次尝试保存。 //新的Javascript函数

PRINTER_DEFAULTS pd;

    pd.DesiredAccess = PRINTER_ACCESS_USE;
    pd.pDatatype = NULL;
    pd.pDevMode = NULL;

    if (!OpenPrinter(szPrinterName, &hPrinter, &pd))
        return false;