除非没有空格,否则Javascript代码不起作用。为什么?

除非没有空格,否则Javascript代码不起作用。为什么?,javascript,html,css,wordpress,Javascript,Html,Css,Wordpress,好吧,我在我的Wordpress网站上遇到了一个非常奇怪的bug,希望只是我的无知,因为这看起来太奇怪了 因此,我正在设计两个输入标记以及一个ReCaptcha表单的样式。我发现了一些我一直关注的文档。基本上我想要的是链接中列出的干净主题,并根据特定事件显示/隐藏验证码 我确实意识到文章的顶部提到了这个版本的api是旧的,但是我使用的插件的代码中有一些recaptcha代码,所以我想我应该先尝试一下,而不是对插件进行重大修改 下面是我正在使用的代码 <!-- Code added by m

好吧,我在我的Wordpress网站上遇到了一个非常奇怪的bug,希望只是我的无知,因为这看起来太奇怪了

因此,我正在设计两个输入标记以及一个ReCaptcha表单的样式。我发现了一些我一直关注的文档。基本上我想要的是链接中列出的干净主题,并根据特定事件显示/隐藏验证码

我确实意识到文章的顶部提到了这个版本的api是旧的,但是我使用的插件的代码中有一些recaptcha代码,所以我想我应该先尝试一下,而不是对插件进行重大修改

下面是我正在使用的代码

<!-- 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>