Javascript 无法读取属性';元素';在JS控制台中的未定义属性

Javascript 无法读取属性';元素';在JS控制台中的未定义属性,javascript,html,ajax,forms,Javascript,Html,Ajax,Forms,HTML表单(通过PHP输出) $retVal.=“\n”; //删去表格内容;它包含几十个复选框 $retVal.=sprintf(“\n”); $retVal.=“\n”; JavaScript/Ajax function SaveMotorSkills() // {{{ { // {{{ Ajax Header var httpRequest = CreateHttpRequest(); if (!httpRequest) { DialogFai

HTML表单(通过PHP输出)

$retVal.=“\n”;
//删去表格内容;它包含几十个复选框
$retVal.=sprintf(“\n”);
$retVal.=“\n”;
JavaScript/Ajax

function SaveMotorSkills() // {{{
{
    // {{{ Ajax Header
    var httpRequest = CreateHttpRequest();
    if (!httpRequest) { 
        DialogFail('AJAX initialization error. ', 1 );
        return false; 
    } // }}}

    var params = '_SaveMotorSkills=1';
    for(i=0; i<document.importSampleDataForm.elements.length; i++) // line with error
    {
        params += "&" + document.importSampleDataForm.elements[i].name + 
            "=" + document.importSampleDataForm.elements[i].value ;
    }

    // edit out AJAX setup

    httpRequest.send(params);
    DialogSave("Saving...");
} // }}}
函数SaveMotorSkills()//{{{
{
//{{{Ajax头文件
var httpRequest=CreateHttpRequest();
如果(!httpRequest){
DialogFail('AJAX初始化错误',1);
返回false;
} // }}}
变量参数='_SaveMotorSkills=1';
对于(i=0;iTry

此外,这也需要解决。

试试看

document.getElementById('importSampleDataForm').elements.length

另外,这也需要解决。

这给了我新的错误:
uncaughttypeerror:cannotread属性'elements'为null
@kicking莴苣,什么时候运行
SaveMotorSkills
呢?新的错误仍然在同一行,对吗?我在上面的注释中添加了这个答案。你在Chrome中吗?试试这个:1)加载网页。2)按F12 3)单击控制台4)运行document.getElementById('importSampleDataForm').elements.length;看看它给了你什么。你明白了。嵌套表单是不允许的,这给了我新的错误:
uncaughttypeerror:cannotread属性'elements'为null
@kicking莴苣,什么时候运行
SaveMotorSkills
呢?新的错误仍然在同一行,对吗?我在上面的注释中添加了这个答案。你呢在Chrome中?尝试以下操作:1)加载网页。2)按F12 3)单击控制台4)运行document.getElementById('importSampleDataForm').elements.length;然后看看它给了你什么。你明白了。嵌套表单是不允许的,你是从页脚运行函数
SaveMotorSkills
,还是在页面/html出现在屏幕上之后运行函数?你应该这样做。它是从一个单独的
.js
文档运行的,表单已经显示在屏幕上。当你单击在表单底部,这是当它运行时。您是从页脚运行函数
SaveMotorSkills
,还是在页面/html出现在屏幕上之后?您应该这样做。它是从一个单独的
.js
文档运行的,并且表单已经显示在屏幕上。当您单击表单底部的按钮时,这就是它运行的时候。
document.getElementById('importSampleDataForm').elements.length