Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript form submit: Object doesn't support this property or method (IE7)

I'm trying to submit a form with javascript. Firefox works fine but IE complains that "Object doesn't support this property or method" on the submit line of this function:

function submitPGV(formName, action)
{
    var gvString = "";

    pgVisibilities.each(function(pair) {
        gvString += pair.key + ":" + pair.value + ",";
    });

    $('pgv_input').value = gvString;

    var form = $(formName);
    form.action = action;
    form.submit();
}

Called here:

<a href="javascript:submitPGV('ProductGroupVisibility','config/productgroupvis/save')">

Here's the form:

<form id="ProductGroupVisibility" action="save" method="post">
    <input type="hidden" name="ows_gv..PGV" id="pgv_input" value=""/>
</form>

Any ideas?

like image 639
Kenny Avatar asked Nov 05 '08 21:11

Kenny


2 Answers

What name does your <input type="submit"> have?

If you called it "submit", you have overridden the form.submit() function, much the same way an input called "foo" would generate a form.foo property. That would explain the behavior.

like image 144
Tomalak Avatar answered Oct 04 '22 02:10

Tomalak


Try checking the type of the element IE is selecting:

// For getting element with id you must use # 
alert( typeof( $( '#ProductGroupVisibility' )));

It is possible there is something else on the page with that ID that IE selects before the form.

like image 43
Brian Avatar answered Oct 04 '22 01:10

Brian