Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用OnClientClick执行此操作_Javascript_Jquery_Onclick - Fatal编程技术网

Javascript 如何使用OnClientClick执行此操作

Javascript 如何使用OnClientClick执行此操作,javascript,jquery,onclick,Javascript,Jquery,Onclick,我有一个控件,它的属性如下 OnClientClick="checkfn( resultfn(boolval) )" checkfn转到并显示模式确认。并在resultfn(boolval)中将结果返回为true或false 如何使OnClientClick获取该值并返回它。如果resultfn(boolval)=true,那么我希望它发回服务器,如果它为false,我希望取消 更新: 这就是checkfn目前所做的。见下文 function checkfn() {

我有一个控件,它的属性如下

OnClientClick="checkfn( resultfn(boolval) )"
checkfn转到并显示模式确认。并在resultfn(boolval)中将结果返回为true或false

如何使OnClientClick获取该值并返回它。如果resultfn(boolval)=true,那么我希望它发回服务器,如果它为false,我希望取消

更新:

这就是checkfn目前所做的。见下文

function checkfn() {

                $("#dialog-confirm").dialog({
                resizable: false,
                height: 140,
                modal: true,
                buttons: {
                    Continue: function () {                           
                        $(this).dialog("close");
                        return true;
                    },
                    Cancel: function () {
                        $(this).dialog("close");
                        return false;
                    }
                }
            });
}

这不起作用,因为checkfn在返回内容之前没有等待对话框confirm。所以我的想法是,我想把东西放在Continue和Cancel函数中,以返回到resultfn(boolval),一个onclientclick可以使用的bool。

使用
onclientclick=“return checkfn(resultfn(boolval));”
。如果您进行了验证,这可能会中断验证,因为它将
返回到早。在这种情况下,如果结果为false,则只希望返回

OnClientClick="var result=checkfn(resultfn(boolval)); if (!result) return false;"
使用
OnClientClick=“return checkfn(resultfn(boolval));”
。如果您进行了验证,这可能会中断验证,因为它将
返回到早。在这种情况下,如果结果为false,则只希望返回

OnClientClick="var result=checkfn(resultfn(boolval)); if (!result) return false;"

假设它位于提交按钮/链接上,则将其更改为

OnClientClick="return checkfn( resultfn(boolval) );"
这样试试看

function checkfn(buttonUniqueID) {
    $("#dialog-confirm").dialog({
    resizable: false,
    height: 140,
    modal: true,
    buttons: {
        Continue: function () {                           
            $(this).dialog("close");
            __doPostBack(buttonUniqueID, '');
        },
        Cancel: function () {
            $(this).dialog("close");
        }
    }
});
然后更改OnClientClick

OnClientClick='return checkfn(<%= this.UniqueID %>);'
OnClientClick='return checkfn();'

假设这是在提交按钮/链接上,将其更改为

OnClientClick="return checkfn( resultfn(boolval) );"
这样试试看

function checkfn(buttonUniqueID) {
    $("#dialog-confirm").dialog({
    resizable: false,
    height: 140,
    modal: true,
    buttons: {
        Continue: function () {                           
            $(this).dialog("close");
            __doPostBack(buttonUniqueID, '');
        },
        Cancel: function () {
            $(this).dialog("close");
        }
    }
});
然后更改OnClientClick

OnClientClick='return checkfn(<%= this.UniqueID %>);'
OnClientClick='return checkfn();'

您不能让在
OnClientClick
中调用的JavaScript函数将值“返回”到服务器,但您可以在表单中填充隐藏的输入,以便在服务器端单击处理程序中读取值:

OnClientClick="document.getElementById('hidden').setAttribute('value', checkfn(resultfn(boolval)))"

您不能让在
OnClientClick
中调用的JavaScript函数将值“返回”到服务器,但您可以在表单中填充隐藏的输入,以便在服务器端单击处理程序中读取值:

OnClientClick="document.getElementById('hidden').setAttribute('value', checkfn(resultfn(boolval)))"

@amit_g的答案非常接近。由于您使用的是jQueryUI对话框而不是window.confirm,因此checkfn()正在执行并返回。试着这样做:

<asp:Button ID="buttonUniqueId" ... OnClientClick="checkfn(); return false;" />

@amit_g的答案非常接近。由于您使用的是jQueryUI对话框而不是window.confirm,因此checkfn()正在执行并返回。试着这样做:

<asp:Button ID="buttonUniqueId" ... OnClientClick="checkfn(); return false;" />

与其让jQuery为您制作按钮,不如手动添加按钮,并使用链接按钮作为继续按钮。

与其让jQuery为您制作按钮,不如手动添加按钮,并使用链接按钮作为继续按钮。

但这只是返回checkfn是真还是假。在我的解决方案中,checkfn调用一个jquery小部件,它生成一个确认框,然后在resultfn(boolval)@RoboShop中返回结果:那么
checkfn
的目的是什么呢?为什么不能
返回resultfn(boolval)?按照您描述的方式,checkfn似乎返回确认结果。如果是这样的话,当确认被取消时,应该停止提交,反之亦然。嗨,我已经尝试更新问题,使其更具体一点。谢谢,但这只是返回checkfn是真是假。在我的解决方案中,checkfn调用一个jquery小部件,它生成一个确认框,然后在resultfn(boolval)@RoboShop中返回结果:那么
checkfn
的目的是什么呢?为什么不能
返回resultfn(boolval)?按照您描述的方式,checkfn似乎返回确认结果。如果是这样的话,当确认被取消时,应该停止提交,反之亦然。嗨,我已经尝试更新问题,使其更具体一点。谢谢