Forum Moderators: open

Message Too Old, No Replies

Javascript Form Submit

This doesn't work with opera.

         

brooky

11:24 am on Jun 27, 2005 (gmt 0)

10+ Year Member



If I have a form called "myform" and I wish to make it submit with JavaScript.

The following works with IE and Mozilla....

document.myform.submit();

But this doesn't work with Opera.

Can anyone help me get it compatible?

This Dreamweaver function could help but I dont know how to adapt it:

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

Really appreciate the help!

brooky

11:34 am on Jun 27, 2005 (gmt 0)

10+ Year Member



Getting there I think but now completelty stuck:

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function submitDoc(formName) { //v6.0
var obj;

if (obj=MM_findObj(formName)!=null)
{
obj.submit();
}
else
{
alert('Form couldn\'t be found, be sure it has and id and name.');
}

}

If I use a button with onclick="submitDoc('myform')" I get the error obj.submit() is not a function.