i have a iframe and form like this :
<iframe id="FileUploadFrame" name="FileUploadFrame" src="" style="display: none; border: 0; width: 0; height: 0;">
<form id="FileUploadForm" name="FileUploadForm" accept-charset="utf-8" target="FileUploadFrame" enctype="multipart/form-data" encoding="multipart/form-data" method="POST" action="CIMtrek_Regional_WhseForm_FileUpload">
</form>
</iframe>
and this is how i submit the form which in iframe
function fileUpload() {
//var UploadForm = document.forms["FileUploadForm"];
var UploadForm = global.forms["FileUploadForm"];
alert("Form : "+typeof global.forms["FileUploadForm"]);
alert("Form : "+typeof global.forms["FileUploadFrame"]);
iframeId = document.getElementById("FileUploadFrame");
// Add event...
var eventHandler = function () {
if (iframeId.detachEvent) iframeId.detachEvent("onload", eventHandler);
else iframeId.removeEventListener("load", eventHandler, false);
// Message from server...
if (iframeId.contentDocument) {
content = iframeId.contentDocument.body.innerHTML;
} else if (iframeId.contentWindow) {
content = iframeId.contentWindow.document.body.innerHTML;
} else if (iframeId.document) {
content = iframeId.document.body.innerHTML;
}
document.getElementById(div_id).innerHTML = content;
}
if (iframeId.addEventListener) iframeId.addEventListener("load", eventHandler, true);
if (iframeId.attachEvent) iframeId.attachEvent("onload", eventHandler);
//alert('submitting form');
//form.submit();
//document.forms["FileUploadForm"].submit();
alert(UploadForm.submit());
}
but i get the following exception when submitting the form :
Error: Unable to get value of the property 'submit': object is null or undefined
Please help me to find the problem and fix.
Best Regards
The way to get the
FileUploadFormis:Or you could have some code in the frame that sets a variable in parent to the form, but I wouldn’t trust that method.
Source: accessing a form that is in an iframe
EDIT:
Also, for get the upload form valid it needs to looks just like any other form except:
POSTmethodmultipart/form-data<input type=file>element.