Javascript表单提交:对象不支持此属性或方法(IE7)

时间:2008-11-05 21:34:18

标签: javascript internet-explorer

我正在尝试使用javascript提交表单。 Firefox工作正常,但IE在这个函数的提交行上抱怨“Object不支持这个属性或方法”:

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();
}

在这里打电话:

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

以下是表格:

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

有什么想法吗?

5 个答案:

答案 0 :(得分:14)

name有哪些<input type="submit">

如果您将其称为“提交”,则您已覆盖form.submit()函数,就像名为“foo”的输入将生成form.foo属性的方式相同。这可以解释这种行为。

答案 1 :(得分:5)

尝试检查IE正在选择的元素的类型:

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

页面上可能还有其他东西,IE在表单之前选择了该ID。

答案 2 :(得分:3)

请注意表格中名称='submit'的任何输入,它们会破坏javascript .submit()功能!

答案 3 :(得分:1)

您使用的是什么JavaScript框架?如果是jQuery我认为你需要在你的id中添加#:

$('#ProductGroupVisibility').submit();

答案 4 :(得分:0)

您确定已加载JavaScript库吗? (jQuery或Prototype)

在IE7中使用Prototype对我有用。

尝试:

alert($('ProductGroupVisibility').id)

看看你是否收到错误。