Javascript 外部用户控件上的aspx按钮上的触发器单击事件
在以下subscribe.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" %> <
<%@ 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
是否相同,或者您需要添加
如何使用\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>