Cannot Read Property 'Elemente' von Undefined, - in der JS-Konsole
HTML-Formular (ausgegeben wird-thru-PHP)
$retVal .= "<form id= 'importSampleDataForm' name = 'importSampleDataForm' onsubmit = \"return false\" >\n";
//Form content edited out; it contains several dozen checkboxes
$retVal .= sprintf("<input type='button' class='wn_button' onclick='SaveMotorSkills();' value='Import Selected'>\n");
$retVal .= "</form>\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...");
} //}}}
Siehe "Zeile Mit dem Fehler von Oben" in for
Schleife. JS-Konsole sagt
Uncaught TypeError: Cannot read property 'elements' of undefined
Ich habe mir bei diesem code, so viel meine Augen können ihn nicht mehr nehmen. Hat jemand anderes sehen, was ich nicht? Ich kann weitere code hinzufügen, wenn nötig.
- Sind Sie mit der Funktion
SaveMotorSkills
aus dem footer, oder nach der Seite/html-Code wird auf dem Bildschirm angezeigt? Sie sollten es sein. - Es wird von einem separaten
.js
Dokument und das Formular ist bereits auf dem Bildschirm angezeigt. Wenn Sie auf die Taste auf der Unterseite der form, das ist, wenn es ran ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
Auch, verschachtelte Formen sind nicht erlaubt, so dass auch der behoben werden muss.
Uncaught TypeError: Cannot read property 'elements' of null
SaveMotorSkills
laufen? Der neue Fehler ist immer noch auf der gleichen Zeile, richtig?document.getElementById('importSampleDataForm');
vielleicht den html code nicht angezeigt wird, auf die Seite.null
als gut. Wenn ich element untersuchen; die richtige form ist es mit der richtigen id/name. Das Skript nicht lief, bis, NACHDEM die Seite geladen wurde, und nur dann, wenn auf Sie geklickt wird.