我正在追踪一个错误,涉及IT技术。错误信息为TypeError: $(...).clientSideCaptcha不是一个函数,在RegisterCapcha(http://localhost:4382/xxx/index.html:98:31)处出现。
我在AngularJS项目中工作,这个问题很简单,但我无法解决它。
我已经使用jQuery实现了验证码,并且在视图中成功地通过点击事件运行。但问题是,我尝试在其他视图中加载相同的验证码,但验证码功能没有加载。
在view1中,验证码正常工作,代码如下:
请帮助我解决这个问题,提前表示感谢 :)
我已经使用jQuery实现了验证码,并且在视图中成功地通过点击事件运行。但问题是,我尝试在其他视图中加载相同的验证码,但验证码功能没有加载。
在view1中,验证码正常工作,代码如下:
view1.html
<a onclick="RegisterCapcha(); ReverseContentDisplay('job-apply'); return true;"
href="javascript:ReverseContentDisplay('job-apply')">
<form id="careersForm" >
<table class="apply-form">
<tr>
<td>First Name </td>
<td><input type="text" name="First_Name" class="applytext" required id="First_Name"></td>
</tr>
<tr>
<td colspan="2" class="applytable" >
<div class="editor-field">
<p>
<label>
Enter the text shown below:
<input type="text" id="captchaText" onkeyup="javascript:EnableApply();" /></label></p>
<p id="captcha">
</p>
</div>
</td>
</tr>
<tr>
<input type="submit" id="careerbtn" name="button" disabled="disabled" class="send-resume" value="SEND" style="margin-left:24%;">
在index.html中声明的脚本
<script src="js/captcha/jquery.clientsidecaptcha.js" type="text/javascript"></script>
<script type="text/javascript">
function EnableApply() {
var OriginalCaptcha = $('#careersForm').data('captchaText');
var userCapcha = $('#captchaText').val();
if (OriginalCaptcha == userCapcha) {
$('#careerbtn').removeAttr('disabled');
}
else {
$('#careerbtn').attr('disabled', 'disabled');
}
}
function RegisterCapcha() {
$("#captcha").html(''); //reset the generated captcha first
$("#captchaText").val('');
$("#careersForm").clientSideCaptcha({
input: "#captchaText",
display: "#captcha",
});
}
</script>
view2:在onload中具有相同的RegisterCapcha()脚本,但在view2中调用同一表单
<script type="text/javascript">
$(document).ready(function () { RegisterCapcha(); });
</script>
<form id="careersForm" >
<table class="apply-form">
<tr>
<td>First Name </td>
<td><input type="text" name="First_Name" class="applytext" required id="First_Name"></td>
</tr>
<tr>
<td colspan="2" class="applytable" >
<div class="editor-field">
<p>
<label>
Enter the text shown below:
<input type="text" id="captchaText" onkeyup="javascript:EnableApply();" /></label></p>
<p id="captcha">
</p>
</div>
</td>
</tr>
<tr>
<input type="submit" id="careerbtn" name="button" disabled="disabled" class="send-resume" value="SEND" style="margin-left:24%;">
请帮助我解决这个问题,提前表示感谢 :)