除非没有空格,否则Javascript代码不起作用。为什么?
好吧,我在我的Wordpress网站上遇到了一个非常奇怪的bug,希望只是我的无知,因为这看起来太奇怪了 因此,我正在设计两个输入标记以及一个ReCaptcha表单的样式。我发现了一些我一直关注的文档。基本上我想要的是链接中列出的干净主题,并根据特定事件显示/隐藏验证码 我确实意识到文章的顶部提到了这个版本的api是旧的,但是我使用的插件的代码中有一些recaptcha代码,所以我想我应该先尝试一下,而不是对插件进行重大修改 下面是我正在使用的代码除非没有空格,否则Javascript代码不起作用。为什么?,javascript,html,css,wordpress,Javascript,Html,Css,Wordpress,好吧,我在我的Wordpress网站上遇到了一个非常奇怪的bug,希望只是我的无知,因为这看起来太奇怪了 因此,我正在设计两个输入标记以及一个ReCaptcha表单的样式。我发现了一些我一直关注的文档。基本上我想要的是链接中列出的干净主题,并根据特定事件显示/隐藏验证码 我确实意识到文章的顶部提到了这个版本的api是旧的,但是我使用的插件的代码中有一些recaptcha代码,所以我想我应该先尝试一下,而不是对插件进行重大修改 下面是我正在使用的代码 <!-- Code added by m
<!-- Code added by me-->
<script type="text/javascript">
var RecaptchaOptions = {
theme : 'clean'
};
function toggleCaptcha(inputField)
{
alert('working');
}
</script>
<!-- End code added by me -->
<script>
function validateGoodNewsUser(frm, requireName) {
requireName = requireName || false;
if(requireName && frm.goodnews_name.value=="") {
alert("Please provide name");
frm.goodnews_name.focus();
return false;
}
if(frm.email.value=="" || frm.email.value.indexOf("@")<1 || frm.email.value.indexOf(".")<1) {
alert("Please provide a valid email address");
frm.email.focus();
return false;
}
// check custom fields
var req_cnt = frm.elements["required_fields[]"].length; // there's always at least 1
if(req_cnt > 1) {
for(i = 0; i<req_cnt; i++) {
var fieldName = frm.elements["required_fields[]"][i].value;
if(fieldName !='') {
var isFilled = false;
// ignore radios
if(frm.elements[fieldName].type == 'radio') continue;
// checkbox
if(frm.elements[fieldName].type == 'checkbox' && !frm.elements[fieldName].checked) {
alert("This field is required");
frm.elements[fieldName].focus();
return false;
}
// all other fields
if(frm.elements[fieldName].value=="") {
alert("This field is required");
frm.elements[fieldName].focus();
return false;
}
}
}
}
return true;
}
</script>
<form method="post" class="goodnews-front-form" onsubmit="return validateGoodNewsUser(this,false);">
<div><label>Your Name:</label> <input type="text" name="goodnews_name"></div>
<div><label>*Your Email:</label> <input type="text" name="email" onfocus="toggleCaptcha(this)"></div>
<p><script type="text/javascript" src="<!--Captcha api url here-->"></script>
<noscript>
<iframe src="<!--Captcha api url here-->" height="300" width="500" frameborder="0"></iframe><br/>
<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
</noscript></p>
<div><br>
<input type="submit" value="Subscribe">
</div>
<input type="hidden" name="goodnews_subscribe" value="1">
<input type="hidden" name="list_id" value="1">
<input type="hidden" name="required_fields[]" value="">
</form>
var RecaptchaOptions={
主题:“清洁”
};
功能切换CAPTCHA(输入字段)
{
警报(“工作”);
}
函数validateGoodNewsUser(frm,requireName){
requireName=requireName | | false;
if(requireName&&frm.goodnews\u name.value==“”){
警告(“请提供姓名”);
frm.goodnews_name.focus();
返回false;
}
如果(frm.email.value==“”| | frm.email.value.indexOf(“@”)这很奇怪。您在浏览器控制台中是否有任何错误?您是否可以在我们可以访问的站点上重现此问题?(例如,您是否可以创建一个精简的演示或其他内容?)是的,我现在正在研究这个问题。你是否复制并粘贴了一些代码到这个JS中?它可能包含任何不需要的字符。我最初确实从google api链接复制了JS位,但有一次我受够了,开始从头开始。第二次我没有复制就从链接中键入了所有内容。我将fiddle更新为m让它调用函数,但是…1)我不知道小提琴与问题中的问题有什么关系(因为它不包含有问题的位),2)请不要再这样做,在焦点上生成警报。因为警报会带走焦点。关闭警报会使焦点恢复。发抖。
<!-- Code added by me-->
<script type="text/javascript">
var RecaptchaOptions = {
theme : 'clean'
};
<<<<<<<< Single new line space added.
function toggleCaptcha(inputField)
{
alert('working');
}
</script>