Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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 外部用户控件上的aspx按钮上的触发器单击事件_Javascript_Jquery_Asp.net_.net_Webforms - Fatal编程技术网

Javascript 外部用户控件上的aspx按钮上的触发器单击事件

Javascript 外部用户控件上的aspx按钮上的触发器单击事件,javascript,jquery,asp.net,.net,webforms,Javascript,Jquery,Asp.net,.net,Webforms,在以下subscribe.aspx文件中 <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="subscribe.aspx.vb" Inherits="Company.Website.clsSubscribe_Page" %> <%@ Register TagPrefix="uc1" TagName="ucSubscribe" Src="controls/ucSubscribe.ascx" %> <

在以下subscribe.aspx文件中

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="subscribe.aspx.vb" Inherits="Company.Website.clsSubscribe_Page" %>

<%@ Register TagPrefix="uc1" TagName="ucSubscribe" Src="controls/ucSubscribe.ascx" %>

<!doctype html>
<html class="no-js" lang="">

<head>
    <uc1:ucHtmlHead ID="HtmlHead" Title="Subscribe to our Newsletters" Description="Subscribe OurNewsletter"
        Keywords="newsletter, subscription" runat="server" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://www.google.com/recaptcha/api.js?render=6LdV088RFFFEaKMW0y_cxHAr8Ok-l3Ks3xO9"></script>
</head>

<body>
    <form id="formMain" runat="server">
        <div class="internal">
            <div class="content">
                <a name="contentContainer" class="hide"></a>
                <div class="newslettersign-up">
                    <div id="centreColumn" role="main">
                        <uc1:ucSubscribe ID="ucSubscribe" runat="server" />
                    </div>
                </div>
            </div>

        </div>
    </form>

        <script type="text/javascript">
    function VerifyCaptcha() {

        grecaptcha.ready(function () {
            grecaptcha.execute('6LdV088RFFFEaKMW0y_cxHAr8Ok-l3Ks3xO9').then(function (token) {

                $.ajax({
                    type: "POST",
                    url: "subscribe.aspx/VerifyCaptcha",
                    data: "{'response':'" + token + "'}",
                    async: false,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (response) {
                        if (response.d != "null") {
                            var obj = JSON.parse(response.d);
                            var success = obj.success;
                            var score = obj.score;
                            if (success == false || score < 0.5) { 
                                ShowCaptchaFailureMsg();
                            } else {
                                // Check score

                                $("[id$='cmdSubscribe']").trigger('click');  
                                return true;
                            }
                        }
                        else {
                            ShowCaptchaFailureMsg();
                        }
                    }
                });
            });
        });
    }
    function ShowCaptchaFailureMsg() {
        // Show message on website accordingly
        alert("this is a bot..");
    }

</script>
</body>

</html>
触发单击ucSubscribe用户控件上的asp按钮

<input id="someid" type="button" value="Subscribe" onclick="return VerifyCaptcha();">
<asp:Button ID="cmdSubscribe" Text="Subscribe" runat="server" alternatetext="Subscribe" Style="display: none;"></asp:Button>

但是,单击上述按钮时,此触发器不会触发。不知道为什么


需要另一种方法在上述按钮上触发此单击事件

由于问题可能由不同的问题引起,以下列表将帮助您对代码进行故障排除:

  • 暴露的代码中,未调用javascript函数
    VerifySub
    ,因此也未调用
    gresub.ready
    函数,该函数不会触发单击事件
  • 如果按钮具有id,则可以使用
    $(“#cmdSubscribe”)。单击()取而代之
    
  • 什么是
    gresub

我用更准确的内容更新了上述问题。我还尝试了$(“#cmdSubscribe”)。单击();但对我不起作用。你看到渲染的htlp了吗?页面上的
cmdSubscribe
是否相同,或者您需要添加
如何使用
\u doPostBack
<input id="someid" type="button" value="Subscribe" onclick="return VerifyCaptcha();">
<asp:Button ID="cmdSubscribe" Text="Subscribe" runat="server" alternatetext="Subscribe" Style="display: none;"></asp:Button>