验证输出 - >拿起javascript

时间:2011-12-20 09:21:09

标签: javascript html validation

为什么我的代码会收到以下错误?

第32行,第14列:字符“<”是分隔符的第一个字符,但是作为数据出现

for(i=0; i <= length; i++) {

在以下几种情况下可能会出现此消息:

你试图加入“&lt;”页面中的字符:你应该将其转义为“&lt;” 您使用了未转义的&符号“&amp;”:这在某些情况下可能有效,但建议使用“&amp;”,这始终是安全的。 另一种可能性是您忘记关闭先前标记中的引号。  第32行,第14列:StartTag:无效的元素名称

for(i=0; i <= length; i++) {

代码:

<script type="javascript">
function randomRange(minVal,maxVal)
        {
        var randVal = minVal+(Math.random()*(maxVal-minVal));
        return (Math.floor(randVal));
        }

        function GetCaptcha() {
        var encStr = "123456789ABCDEFGHJKMNPQRSTUVWXYZ";
        var length = randomRange(4,8);
        var result = "";
        var i = "";
        var char = "";
        for(i=0; i <= length; i++) {
        char = encStr.substr(randomRange(1,encStr.length),1);
        result += char;
        }
        return result;
        }

        function InitCaptcha() {
        var hidFld = document.MyForm.captchaHidFld;
        str = GetCaptcha();
        hidFld.value = str;
        document.getElementById('captchaTxt').innerHTML = str;
        document.getElementById('captchaBtn').value = str;
        }

        function ValidateCaptcha (theForm) {
        var inpStr = (document.MyForm.captchaInpFld.value).toUpperCase();
        var captStr = document.MyForm.captchaHidFld.value;
        if (inpStr.length == captStr.length)
        {
                if (inpStr.match(captStr)) { return true; }
        }
        return false;
        }

        function cmdSubmit(theForm)
        {
        if (!ValidateCaptcha(theForm)) 
        {
        alert ("Please enter valid CAPTCHA Code.");
        return false; 
        }

        if (theForm.name.value == "")
        {
        alert ("Please enter your name.");
        theForm.name.focus();
        return false;
        }
        if (theForm.email.value == "")
        {
        alert ("Please enter your e-mail address.");
        theForm.email.focus();
        return false;
        }
        return true;

        }
        </script>

3 个答案:

答案 0 :(得分:4)

使用过渡的XHTML DOCTYPE,你需要像这样包含内联的Javascript和CSS:

<script type="text/javascript">
//<![CDATA[

   /* script here */

//]]>
</script>

比较这些结果:

答案 1 :(得分:0)

你用什么来验证这个?你总是可以将javascript作为外部javascript文件来解决这个问题吗? 另外:确保脚本标记位于<head><body>元素内?

答案 2 :(得分:0)

您的代码看起来是正确的。如果您使用firebug部分地编写代码,即GetCaptcha(),您将能够快速跟踪错误。 或发布与此代码相关的HTML :)