内联jquery厚盒子没有关闭javascript验证

时间:2012-02-07 18:13:29

标签: javascript jquery

我在经典的asp应用程序中遇到了jquery inline thickbox的问题。 代码如下所示:

超链接标记的属性如下:

<a>href="#TB_inline?height=295&width=604&inlineId=rev-modal" onclick="GetAuth()" id="btnAuthorize" class="thickbox">Authorize</a>

现在我已经创建了一个调用ajax调用的javascript,并根据结果显示错误或向前移动。在我的javascript中,我显示错误div并关闭厚盒子。它与ajax回调项/错误一起正常工作。但现在我已经在页面中添加了javascript验证。如果找到无效输入,我的厚箱不会消失。我可以从javascript验证中看到错误div和错误,但它全部在灰色透明的厚箱内,我不想要的东西。当我点击页面时,厚箱会消失。

我的javascript是这样的:

function GetAuth() {
    if (ValidInputs() == "" ) {

    }
    else {
        $("#errordiv").show();
        $("#errordetail").html(ValidInputs());
        self.parent.tb_remove();
     }
     return false;
}

2 个答案:

答案 0 :(得分:1)

您的锚中有语法错误。另外,我会更像这样构建你的代码。

另外,如果你想为这样的问题做一个小问题,那么回答测试的人会更容易:http://jsfiddle.net

function GetAuth() {
    if (ValidInputs() != "" ) {
        $("#errordetail").html(ValidInputs());
        $("#errordiv").show();
        self.parent.tb_remove();
     }else
     {
          alert('Did you expect this to happen?');
     }
     return false;
}

<a href="#TB_inline?height=295&width=604&inlineId=rev-modal&modal=true" onclick="GetAuth()" id="btnAuthorize" class="thickbox">Authorize</a>

答案 1 :(得分:0)

感谢您的投入。我最后通过将所有验证移动到回调页面本身来解决它。