JS - getElementById无效。 Firefox抛出:语法错误Chrome抛出:意外}

时间:2012-09-13 10:37:35

标签: javascript forms this getelementbyid

验证表单无效。您可以在下面看到代码和错误消息。 不要认为JS,Chrome和Firefox的问题指向HTML部分。 请参阅我使用Firefox“Firebug”制作的截图。

enter image description here

HTML:

<div>Enter your state code:<input id="state" name="state" type="text" size="2" onblur="isStateOk(this.document.getElementById("state_help"));"/>        
<span id="state_help"></span></div> 

使用Javascript:

function isStateOk(inputField, helpId) {        // See if the input value contains any text

    return editNodeText (/^A[LKSZRAEP]|C[AOT]|D[EC]|F[LM]|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY]$/, inputField.value, helpId, "Enter a State Code in Uppercase (Ex.NY, PA, CA)");
}

注意:eclipse在以下位置显示红色虚线:(“state_help”)。也许根本找不到id的{​​{1}}?我开始输入span

时会得到代码帮助

更新:JAVASCRIPT文件:新错误信息指向下面这个版本的第一个功能:

state_

1 个答案:

答案 0 :(得分:1)

对html属性的双引号中包含的JS字符串使用单引号,或者结果是不可解析的;

自:

onblur="isStateOk(this.document.getElementById("state_help"));"/>

为:

onblur="isStateOk(this.document.getElementById('state_help'));"/>