尝试按名称引用字段时出错

raj*_*aja -3 javascript

document.my_formm.fieldName.value is null or not an object从下面的代码中得到一个错误():

<html>
  <head>
    <title>(Type a title for your page here)</title>

    <script language=JavaScript>
    function check_length(my_formm,fieldName)
    {
      alert(fieldName);
      alert(document.my_formm.fieldName.value);
    }
    </script>
  </head>
  <body>
    <form name=my_form method=post>
      <input type="text" onChange=check_length("my_form","my_text"); name=my_text rows=4 cols=30 value="">
      <br>
      <input size=1 value=50 name=text_num> Characters Left
    </form>
  </body>
</html> 
Run Code Online (Sandbox Code Playgroud)

Dan*_*uis 6

check_length函数使用变量来标识表单和字段名称,但是,通过使用点表示法,您指的是名为 的文档元素my_formm.当您使用变量名称时,应使用括号表示法:

function check_length(my_formm,fieldName)
{
  alert(fieldName); 
  alert(document[my_formm][fieldName].value); 
}
Run Code Online (Sandbox Code Playgroud)

此外,您应该在输入中引用属性:

<input type="text" onKeyPress="checkCompanyName();" onChange="check_length('my_form', 'my_text');" name="my_text" rows="4" cols="30" value="">
Run Code Online (Sandbox Code Playgroud)

  • 访问表单和表单元素的标准方法(DOM0)是:`document.forms [my_formm] .elements [fieldName]` (2认同)